By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
declare @date_start datetime = '2021-05-01',
@date_en datetime = getdate()
select [@date_start] = @date_start,
[@date_en] = @date_en,
concat(dy, ':', hr, ':', mn, ':', sc, '.', ms)
from (
select dy = abs(diff_mins / 60 / 24),
hr = diff_mins / 60 % 24,
mn = diff_mins % 60,
sc = datediff(second, dateadd(minute, diff_mins, @date_start), @date_en),
ms = (datepart(millisecond, @date_en) - datepart(millisecond, @date_start) + 1000) % 1000
from (
select diff_mins = datediff(minute, @date_start, @date_en)
) d
) d
@date_start | @date_en | (No column name) |
---|---|---|
2021-05-01 00:00:00.000 | 2024-10-07 16:18:41.310 | 1255:16:18:41.310 |