将字符串0405066解析为“time”/“datetime”数据类型:04:05:066

时间:2015-08-18 21:24:06

标签: sql-server datetime

我正在使用包含未格式化日期的文件名作为7个数字的字符串:

0405066

如何将上述内容转换为:

04:04:066

我尝试了很多CONVERT(time, '0405066',code),但没有一个有效。

提前致谢!

1 个答案:

答案 0 :(得分:0)

这将获得您想要的字符串:

LEFT(@time, 2) + ':' + SUBSTRING(@time,3,2) + ':' + right(@time,3)

但这也不会转换为有效的时间格式。包含毫秒时,必须指定所有部件的小时,分​​钟和秒。如果小时数刚刚丢失,那么这将转换为时间数据类型:

convert(time,'00:' + LEFT(@time, 2) + ':' + SUBSTRING(@time,3,2) + ':' + right(@time,3))