如何在SQL中将Excel日期字符串格式转换为日期

How to convert Excel date string format to date in SQL

提问人:Around Nijkerk 提问时间:11/8/2023 更新时间:11/8/2023 访问量:29

问:

我在SQL Server中有这个表,其中一列可以包含日期。

该信息从 1000 个 Excel 文件转换为 SQL 数据库。

该信息包含如下值:

Tue Aug 15 00:00:00 CEST 2023
Tue Aug 01 00:00:00 CEST 2023
Thu Aug 03 00:00:00 CEST 2023
Thu Aug 03 00:00:00 CEST 2023
22-07-20233
15-09-23

我知道我可以使用像 TRY_CONVERT 这样的函数,但是如果我使用它,则上述值都不会被解释为日期。

select try_convert(date,[datefield], 105) 

我尝试了这样的事情:,TRY_CONVERT(date, [datefield], 'dddd mmm dd hh:MM:ss tttt yyyy')

但这行不通。 如何将字符串更改为日期字段?

sql-server sql-server-2012

评论

0赞 Panagiotis Kanavos 11/8/2023
这些是各种矛盾、模棱两可甚至自定义格式的字符串,而不是日期。您不能使用单一方法来转换这些内容。 不在任何国家/地区使用,但可以是两个不同的日期。 无效Thu Aug 03 00:00:00 CEST 202315-09-2322-07-20233
0赞 Thom A 11/8/2023
你检查过什么是风格吗?这不是ddd MMM dd hh:mm:ss tz yyyy,我可以告诉你这么多。我不确定任何风格都会转换这一点。如果我说实话,似乎你需要修复来源。105
0赞 Thom A 11/8/2023
我什至不确定应该代表什么。猜测,也许是 23 九月 191515-09-23
2赞 Panagiotis Kanavos 11/8/2023
因此可以代表 4 个不同的日期,分别是 1915 年、1923 年、2015 年或 2023 年15-09-23
2赞 Charlieface 11/8/2023
是哪一年?太阳是死于热死,还是我们被海平面上升淹没了。20233

答: 暂无答案