CSV CSV导入时的日期更改
问题描述:
.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
哇,我是摇滚明星!谢谢! :)顺便说一句,你的问题已经明确阐述,抛开所有错误的假设。 –