.csv
通過SSIS將文件導入到SQL Server表中時出現奇怪的情況。CSV CSV導入時的日期更改
CSV日期25-May-46
被導入到NVARCHAR
列中。
當
REPLACE(CONVERT(NVARCHAR(10), CAST(date_of_birth AS DATE), 111), '/', '-')
選擇該專欄中,我獲得「2046年5月25日」
當該列轉換爲Excel中的日期,我獲得「1946年5月25日」
有沒有人有一個想法可能是什麼原因造成的?
.csv
通過SSIS將文件導入到SQL Server表中時出現奇怪的情況。CSV CSV導入時的日期更改
CSV日期25-May-46
被導入到NVARCHAR
列中。
當
REPLACE(CONVERT(NVARCHAR(10), CAST(date_of_birth AS DATE), 111), '/', '-')
選擇該專欄中,我獲得「2046年5月25日」
當該列轉換爲Excel中的日期,我獲得「1946年5月25日」
有沒有人有一個想法可能是什麼原因造成的?
你應該檢查SSMS上的「Two Digit Year Cutoff」參數 - 右鍵單擊你的SQL Server - 服務器屬性 - 高級設置。 默認值爲2049,並且您對此設置有預期的結果。 將其設置爲2045,以在SQL Server上獲得'1946-05-25'。
你也可以檢查/設置這個值這樣的:
EXEC sys.sp_configure N'two digit year cutoff' --to check
EXEC sys.sp_configure N'two digit year cutoff', N'2045' --to set
GO
RECONFIGURE WITH OVERRIDE
GO
希望這有助於。
帕維爾,你是一個該死的搖滾明星!謝謝!! :))這讓我困擾了超過一天的時間去研究這個問題!謝謝! – Tom
哇,我是搖滾明星!謝謝! :)順便說一句,你的問題已經明確闡述,拋開所有錯誤的假設。 –