我正在尝试将 csv 文件中的第一行批量插入到只有一列的表中。
但是我在开始时得到了一些额外的字符('n++'),如下所示:
n++First Column;Second Column;Third Column;Fourth Column;Fifth Columnm;Sixth Column
CSV 文件内容如下:
First Column;Second Column;Third Column;Fourth Column;Fifth Columnm;Sixth Column
你可以找到 test.csv 文件 here
这是我用来获取表中第一行数据的代码
declare @importSQL nvarchar(2000)
declare @tempstr varchar(max)
declare @path varchar(100)
SET @path = 'D:\test.csv'
CREATE TABLE #tbl (line VARCHAR(max))
SET @importSQL =
'BULK INSERT #tbl
FROM ''' + @path + '''
WITH (
LASTROW = 1,
FIELDTERMINATOR = ''\n'',
ROWTERMINATOR = ''\n''
)'
EXEC sp_executesql @stmt=@importSQL
SET @tempstr = (SELECT TOP 1 RTRIM(REPLACE(Line, CHAR(9), ';')) FROM #tbl)
print @tempstr
drop table #tbl
知道这个额外的“n++”来自哪里吗?
最佳答案
SQL Server 2005 和 2008 似乎不支持 UTF-8 文件,它只会在版本 11 中可用!
https://connect.microsoft.com/SQLServer/feedback/details/370419/bulk-insert-and-bcp-does-not-recognize-codepage-65001
关于sql - 批量插入期间会出现其他字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4436021/