我是一名SQL学生,负责为我实习的公司将数据加载到SQL Server中。
我尝试将多个格式为1/23/04
日期的平面文件加载到 SSMS 中,并且在通过向导时,日期预览正确。一旦它们加载到实际数据库中并执行select
查询,所有日期都将以2023-01-04
格式返回。
我什至不确定从哪里开始解决这个问题。我已经加载了nvarchar(50)
列,而不是date
、datetime
和datetime2
,看看它是否会有所不同,每个案例都返回相同的格式。这是平面文件、SSMS 还是计算机本身中的设置?
在 SSIS 中,将列(带有日期(作为字符串引入,并添加一个派生列转换,该转换会将列(使用子字符串函数(转换为正确的日期。SQL Server 喜欢将日期视为 YYYY-MM-DD,这就是为什么没有明确告诉它如何读取字符串,它默认认为输入的日期是该格式。
如果您使用的是 SQL Server (SSMS(,则应将其输入为字符串 (char(8((,然后使用强制转换或转换函数将字符串更改为日期。然后,您可以发出"更改表删除列"以删除日期的字符串版本列。