2013-10-14 31 views
1

导入时,在我的CSV文件INT,有AuthorID通过它们在字符串格式SQL服务器:将字符串转换为从CSV

是否有可能在一个SQL Server查询,导入CSV时,要String转换为Integer

BULK 
INSERT Author 
FROM 'C:\author.csv' 
WITH 
(
FIRSTROW = 2, 
<Convert Column 1 to Integer> 
FIELDTERMINATOR = ',', 
ROWTERMINATOR = '\n' 
) 
GO 
+0

它应该只是工作,如果你有一个'int'类型的列和csv中的所有值是真正的数字。 – Szymon

+0

同意。这是CSV导入的重点。 CSV是类型不可知的,所以它必须从目标列类型推断出这一点。你有什么错误吗?在这种情况下,您也应该在问题中发布它们。 –

+0

这是错误:消息4864,级别16,状态1,行1 第2行第1列(pubId)的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。 – user2741620

回答

0

数据操作哨子数据传输使用SSIS包,我不认为你可以与数据本身BULK INSERT语句吹口哨你将其插入到表做任何事情。目标列应该有适当的和正确的DATATYPE,它应该工作。
如果您将目标列的数据类型设置为INT,并且数据中没有任何字符串,则应该正常工作。
如果您仍然遇到错误,那么您应该检查您所插入的数据,并且如果在插入INT数据类型列之前有任何需要更改的数据,则可能需要考虑使用SSIS包。

相关问题