整数到datetime t-SQL

时间:2018-04-11 14:59:01

标签: sql sql-server tsql

我想将int转换为日期格式,值的格式为ddmmyy     280118

select cast( '280118' as date)这会产生2028-01-18

我使用子串

找到了Stack的方法
select convert(date, SUBSTRING('280118',1,2)+'/'+
         SUBSTRING('280118',3,2)+'/'+SUBSTRING('280118',5,2),3)

预期结果2018-01-28。 是否有任何简单的替代方法可以在SQL server 2016中实现此功能,如果您可以从版本2012开始建议,这也非常有用。

我已经看过帖子,因为这已经被多次回答了,我希望看到任何更简单的方法来回答这个问题。

感谢您的意见和建议

1 个答案:

答案 0 :(得分:1)

你可以在这里使用东西和转换的格式选项来相当容易地做到这一点。这当然假设所有日期都将使用默认世纪。在几十年内,除非MS在2个数字年内改变其默认逻辑几个世纪,否则这将不再是正确的十年。

declare @YourDate varchar(10) = '280118'

select convert(date, stuff(stuff(@YourDate, 3, 0, '/'), 6, 0, '/'), 3)