Sql server 使用SQLServer2005解析退格删除的文本文件

Sql server 使用SQLServer2005解析退格删除的文本文件,sql-server,delimiter,backspace,Sql Server,Delimiter,Backspace,我需要使用SQLServer2005解析一个以退格分隔的平面文件,并在一些表中进行更新。最好的方法是什么?您需要的是TSQL中类似C#Split的函数。这样的函数并不存在。然而,许多人编写了这样的函数。例如: 兰迪试过这个吗 BULK INSERT MyTable FROM 'c:\file.csv' WITH ( FIRSTROW = 2, MAXERRORS = 0, FIELDTERMINATOR = '\b', ROWTERMINATOR =

我需要使用SQLServer2005解析一个以退格分隔的平面文件,并在一些表中进行更新。最好的方法是什么?

您需要的是TSQL中类似C#Split的函数。这样的函数并不存在。然而,许多人编写了这样的函数。例如:

兰迪试过这个吗

BULK INSERT MyTable
FROM 'c:\file.csv' 
WITH 
( 
    FIRSTROW = 2, 
    MAXERRORS = 0, 
    FIELDTERMINATOR = '\b', 
    ROWTERMINATOR = '\n' 
)

它可能与delimeter一起工作,也可以尝试\x08

Adam Machanic写了一篇关于编写SQLCLR字符串解析器的好文章。看看这个:


这看起来非常熟悉。。。我尝试使用在该链接中找到的ParseString函数,我将分隔符指定为“\b”,但仍然无法解析。我甚至尝试过使用“\x08”,但没有成功。有什么想法吗?我想保罗有最好的办法。将该文件导入到表中,然后从那里运行更新。我在SQL server 2000和平面文件导入选项方面遇到了一些问题。我通常将文件导入excel,保存并导入SQL server。只有当你很少需要这样做的时候,这才是可行的。如果您想使其自动化,则上述操作不起作用。在delimeter上运行搜索和替换,并用有用的东西替换它。