我从查询中返回以下结果:
2030
1200
1400
1545
是否可以在SQL(SQL Server)中将其转换为hh:mm:ss格式的时间?
例如,上面的条目将转换如下:
2030 = 20:30:00
1200 = 12:00:00
1400 = 14:00:00
1545 = 15:45:00
非常感谢您的帮助。
答案 0 :(得分:7)
您需要stuff()
:
select cast(stuff(2030, 3, 0, ':') as time(0))
如果您的查询返回字符串号,则可以使用:
. . .
where charindex ('.', n) = 0;
答案 1 :(得分:1)
您可以创建类似以下的功能
CREATE FUNCTION ToTime(@myInput nvarchar(4))
RETURNS nvarchar(7)
AS
-- Returns the input as valid time string
BEGIN
DECLARE @ret nvarchar(7);
SET @ret = SUBSTRING(@myInput,1,2)+':'+ SUBSTRING(@myInput,3,2)+':00'
RETURN @ret;
END;
然后致电:
SELECT ToTime(2030);
SELECT ToTime(1200);
...
答案 2 :(得分:1)