[英]Inserting Dates with BULK INSERT
我有一個CSV文件,其中包含三個日期:
'2010-07-01','2010-08-05','2010-09-04'
當我嘗試批量插入它們時...
BULK INSERT [dbo].[STUDY]
FROM 'StudyTable.csv'
WITH
(
MAXERRORS = 0,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
我收到一個錯誤:
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 1 (CREATED_ON).
所以我假設這是因為我的日期格式無效。 什么是正確使用的格式?
編輯
CREATE TABLE [dbo].[STUDY]
(
[CREATED_ON] DATE,
[COMPLETED_ON] DATE,
[AUTHORIZED_ON] DATE,
}
您的日期前后都有引號(')。 刪除那些,它應該工作。
您的數據文件是否有標頭記錄? 如果是這樣,顯然您的表名將不是正確的數據類型,並且當SQL Server嘗試將它們插入表中時將失敗。 嘗試這個:
BULK INSERT [dbo].[STUDY]
FROM 'StudyTable.csv'
WITH
(
MAXERRORS = 0,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
FIRSTROW = 2
)
根據MSDN ,BULK INSERT操作在技術上不支持在CSV文件中跳過標頭記錄。 您可以刪除標題記錄,也可以嘗試以上操作。 我目前還沒有SQL Server,因此我尚未確認這行得通。 YMMV。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.