我有一个数据源,日期如下:20150614140520-0500
如何更好地展示?它实际上不需要在技术上进行转换,这仅用于报告。理想情况下,它会输出2015-06-14 2:05 PM (EST)
,但我也希望语句尽可能简单,因此时区偏移和12小时时间是可选的。
我尝试CAST ('20150614140520-0500' As Date)
但它返回null
我还试过CAST (LEFT('20150614140520-0500',14) As Date)
以及其他一些没有运气的变种。
答案 0 :(得分:1)
请试试这个:
convert(datetime,stuff(stuff(stuff(datevalue, 9, 0, ' '), 12, 0, ':'), 15, 0, ':')) ConvertedDate
正如Dinesh Kumar Rajendran在他的博客中所建议的那样: https://rdineshkumar.wordpress.com/tag/how-to-convert-yyyymmddhhmmss-to-datetimedatetime-in-sql-server/
答案 1 :(得分:1)
您必须从前面的示例中获取前14个字符:
print convert(datetime,stuff(stuff(stuff(LEFT('20150614140520-0500',14) , 9, 0, ' '), 12, 0, ':'), 15, 0, ':'))