SQL Server 2012 - 将CYYMMDD日期转换为YYYYMMDD

时间:2016-04-25 19:47:00

标签: sql sql-server tsql date

我有一个表只有超过200,000个条目,其中日期存储为CYYMMDD,其中C是世纪(当前存储为整数)。例如,1992年12月5日将显示为1921205,2016年4月25日将显示为2160425。我需要以YYYMMDD格式在新表中显示这些结果。因此,对于之前的两个示例,它将是1992120520160425。我尝试过使用

CONVERT(VARCHAR(8),[DATE], 112)

这不会给出错误但它也没有进行转换,所以我的所有日​​期看起来都是一样的。我做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要按如下方式拆分数值:

DATEFROMPARTS( 1800 + FLOOR([DATE]/10000) , FLOOR([DATE]/100)%100, [DATE]%100 )