如何在SQL Server中将没有分隔符的datetime字符串转换为datetime?

Ber*_*her 4 sql-server datetime sql-server-2008

我想要转换这样的字符串:20160520191959550-实际上是日期时间2016-05-20 19:19:59

我尝试CAST as datetime在SQL语句中使用,但收到此错误:

从字符串转换日期和/或时间时转换失败。

这是SQL:

Select Cast(vbon.DATE_INS As datetime) As DINS 
From vbon 
Run Code Online (Sandbox Code Playgroud)

我通常CAST在没有分隔符的日期字符串上使用,并且正在寻找类似的解决方案。有一个简单的办法让没有恢复到完成工作LEFTRIGHTSUBSTRING

Vas*_*zha 5

已发布的其他变体:

SELECT  CONVERT(DATETIME, FORMAT(CONVERT(BIGINT, '20160520191959550'),
                                 '####-##-## ##:##:##"."###'))
Run Code Online (Sandbox Code Playgroud)

  • 2012+有趣的解决方案 (2认同)