2013-10-14 56 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包。

相關問題