我有nvarchar
类型的列,即170948
我想将其存储在时间类型列中
为此,我写了
select @CurrentTimeValue=Convert(time, items, 108) from T
但是它正在抛出错误
从字符串转换日期和/或时间时转换失败。
请建议正确的格式
答案 0 :(得分:1)
由于所支持的CONVERT
样式都不符合您的输入,因此您必须手动调整输入 - 如下所示:
DECLARE @input VARCHAR(10) = '170948'
DECLARE @modified VARCHAR(10)
SET @modified = SUBSTRING(@input, 1, 2) + ':' + SUBSTRING(@input, 3, 2) + ':' + RIGHT(@input, 2)
SELECT CAST(@modified AS TIME)
答案 1 :(得分:0)
您也可以尝试
select cast(stuff(stuff('170948', 5,0,':'), 3,0,':') as time)
答案 2 :(得分:0)
select cast(stuff(stuff('170948', 3,0,':'), 6,0,':') as time)