将平面文件导入 SQL Server 会在数据库中存储不正确的日期



我是一名SQL学生,负责为我实习的公司将数据加载到SQL Server中。

我尝试将多个格式为1/23/04日期的平面文件加载到 SSMS 中,并且在通过向导时,日期预览正确。一旦它们加载到实际数据库中并执行select查询,所有日期都将以2023-01-04格式返回。

我什至不确定从哪里开始解决这个问题。我已经加载了nvarchar(50)列,而不是datedatetimedatetime2,看看它是否会有所不同,每个案例都返回相同的格式。这是平面文件、SSMS 还是计算机本身中的设置?

在 SSIS 中,将列(带有日期(作为字符串引入,并添加一个派生列转换,该转换会将列(使用子字符串函数(转换为正确的日期。SQL Server 喜欢将日期视为 YYYY-MM-DD,这就是为什么没有明确告诉它如何读取字符串,它默认认为输入的日期是该格式。

如果您使用的是 SQL Server (SSMS(,则应将其输入为字符串 (char(8((,然后使用强制转换或转换函数将字符串更改为日期。然后,您可以发出"更改表删除列"以删除日期的字符串版本列。

最新更新