我怎样才能将VARCHAR
数据转换'20130120161643730'
为DATETIME
?
CONVERT(DATETIME, '20130120161643730')
不起作用。
但是,CONVERT (DATETIME, '20130120 16:16:43:730')
有效。我想它需要正确格式的数据。
有没有一种有效的方法可以用来DATETIME
直接从未格式化的数据转换为?
我的解决方案是:
DECLARE @Var VARCHAR(100) = '20130120161643730'
SELECT CONCAT(LEFT(@Var,8),' ',SUBSTRING(@var,9,2),':',SUBSTRING(@var,11,2),':',SUBSTRING(@var,13,2),':',RIGHT(@Var,3))
它工作正常。但是,我正在寻找一个紧凑的解决方案。