2016-12-16 48 views
0

它,當我改變字段是VARCHAR,但是當字段類型爲datetime批量插入犯規插入數據文本導入日期字段

DECLARE @SQL NVARCHAR(MAX) 
SET @SQL =N'Bulk Insert tblUsersXTemp 
from '''+ 
@filePath + 
N'''WITH (FIELDTERMINATOR = ''","'', 
ROWTERMINATOR = ''"\n'')'; 

EXEC sp_executesql @SQL 

enter image description here

+0

這是你的完整的SQL腳本/存儲過程?如果不是,則共享完整的sql腳本。 –

+0

tblUsersXTemp中此列的數據類型是什麼? – scsimon

+0

您尚未發佈任何*相關信息。沒有表架構,沒有文件示例。如果您沒有以某種方式指定日期格式,您如何期待SQL Server猜測日期格式?除非它是一個明確的格式,如ISO8601或未分離日期格式,否則您必須指定要使用哪種格式/區域設置 –

回答

2

您試圖批量插入的一個或多個記錄完全有可能不包含有效日期。有時候,這是使用不太常見的日期格式的結果,因此它們看起來可能不錯。一些國家將該月份放在首位,而不是一天,這可能會混淆批量插入。

如果日期很好,您可以嘗試做的另一件事是使用Format文件。

-1

插入不插入數據時工作將數據作爲varchar,稍後將數據轉換爲DATETIME。

+0

使用不合適的類型是一個非常嚴重的錯誤。大塊插入沒有損壞。它可以導入日期沒有問題。 –