请告诉我如何在SQL Server 2008 R2中重新转换下面的一个。
select replace(Convert (varchar(8), GetDate(), 108), ':', '');
我将DATETIME
数据类型列转换为nvarchar
,没有任何格式。它只是hhmmssms
。
我希望以hh:mm:ss:ms
格式恢复时间价值。请帮忙。
答案 0 :(得分:1)
你是说这个?
declare @VarTime as int = replace(Convert (varchar(8),GetDate(), 108),':','')
select convert(time,convert(varchar(2),(@VarTime / 10000) % 100) +':'+
convert(varchar(2),(@VarTime / 100) % 100)+':'+
convert(varchar(2),right(@VarTime,2)))
12:28:45
编辑:如果您的日期类似于hhmmssms
set @VarTime = '11223344'
select convert(varchar(2),(@VarTime / 1000000) % 100) +':'+
convert(varchar(2),(@VarTime / 10000) % 100) +':'+
convert(varchar(2),(@VarTime / 100) % 100)+':'+
convert(varchar(2),right(@VarTime,2))