繁体   English   中英

如何在SQL Server中将nvarchar类型转换为仅时间类型格式

[英]How to convert nvarchar type to only time type format in sql server

我有一个类型为nvarchar的列,即170948我想将其存储在时间类型列中

为此,我写了

select @CurrentTimeValue=Convert(time, items, 108) from T

但是它抛出错误

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

请提出正确的格式

由于没有一种支持的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)

您也可以尝试

select cast(stuff(stuff('170948', 5,0,':'), 3,0,':') as time)
select cast(stuff(stuff('170948', 3,0,':'), 6,0,':') as time)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM