首页 > 解决方案 > 将日期 24-NOV-49 转换为 yyyy-mm-dd 格式

问题描述

我正在尝试将日期转换24-NOV-491949-11-24.

这是我目前使用的代码:

TRY_CONVERT(DATE, NULLIF(GEB_DATUM,''), 103)    

不幸的是,这给了我错误的转换:

DATE        WRONG CONVERSION         SHOULD BE 
24-NOV-49   2049-11-24               1949-11-24
01-MEI-62   NULL                     1962-05-62
05-DEC-71   NULL                     1962-12-05

标签: sqlsql-serverdatetype-conversiondate-conversion

解决方案


SQL Server 两位数年份的默认截止值为 50,因此在此之前的任何内容都将移至当前世纪,而之后的任何内容都移至上一个世纪。您可以更改默认值,说明在这里

更有可能的是,您需要手动处理它,将字符串分解为年、月和日,应用逻辑来获得正确的数值,然后使用 DATEFROMPARTS 再次构建它。


推荐阅读