时间被保存为varchar(8)格式,比如: 09241324,我想把它转换成时间格式。我可以去掉最后一个nn,这样hh:mm:ss就可以工作了。我试过使用cast/convert,但这是抛出错误:
从字符串转换日期和/或时间时,转换失败。
有人能帮帮我吗?
发布于 2015-11-05 18:26:27
这个能行吗?
convert(time, stuff(stuff(stuff(dt, 3, 0, ':'), 6, 0, ':'), 9, 0, '.'))cast通常比convert更受欢迎,但我并不确定您是否需要指定格式代码。
如果没有毫秒,则类似:
convert(time, stuff(stuff(stuff(dt, 3, 0, ':'), 6, 0, ':'), 9, 2, '.00'))发布于 2015-11-05 18:26:18
插入时间格式化部分(冒号:和小数点)。),并将其作为时间:
DECLARE @string VARCHAR(10)
SET @string = '09241324'
SELECT CAST(
SUBSTRING(@string,1,2) + ':' +
SUBSTRING(@string,3,2) + ':' +
SUBSTRING(@string,5,2) + '.' +
SUBSTRING(@string,7,2) AS TIME)https://stackoverflow.com/questions/33551893
复制相似问题