我有一个查询需要以日、时、分、秒格式返回秒。
下面的代码在不到一天时工作正常,但在秒值大于一天时不起作用
PRINT Convert(VarChar, DateAdd(S, 86400, 0), 108)
86400 正好是一天,它返回 00:00:00
有人可以修改它并向我展示这样的结果吗
1:00:00:00.
谢谢
我有一个查询需要以日、时、分、秒格式返回秒。
下面的代码在不到一天时工作正常,但在秒值大于一天时不起作用
PRINT Convert(VarChar, DateAdd(S, 86400, 0), 108)
86400 正好是一天,它返回 00:00:00
有人可以修改它并向我展示这样的结果吗
1:00:00:00.
谢谢
这个怎么样:
declare @days int,
@dt1 smalldatetime = '2012-03-25 03:24:16',
@dt2 smalldatetime = getdate()
set @days = datediff (s, @dt1, @dt2)
SELECT convert(char(10), @days / (60 * 60 * 24)) + ':'
+ convert(char(10), dateadd(s, @days, convert(datetime2, '0001-01-01')), 108)
Result -- 170:20:40:00
尝试这个:
declare @seconds int=87500;
select cast(@seconds/86400 as varchar(50))+':'+
Convert(VarChar, DateAdd(S, @seconds, 0), 108)
结果:
1:00:18:20