とても簡単な方法でそれを行うことができます:
declare @date1 datetime, @date2 datetimeset @date1=DATEADD(s,-638,getdate())set @date2=GETDATE()select convert(char(8),dateadd(s,datediff(s) ,@date1,@date2),'1900-1-1'),8)コード> プレ>
... 結果は 00:10:38 です (638 秒 =600 秒 + 38 秒 =10 分 38 秒)
別の例:
sysobjects order by 1 から個別の convert(char(8),dateadd(s,datediff(s, CRDATE , GETDATE() ),'1900-1-1'),8) を選択
プレ>
86399 秒 (23:59:59) の差まで動作します:
select convert(char(8),dateadd(s,datediff(s , DATEADD(s,-86399,GETDATE()) , GETDATE()),'1900-1-1'),8) コード> プレ>
...その後、ゼロに戻ります:
select convert(char(8),dateadd(s,datediff(s , DATEADD(s,-86400,GETDATE()) , GETDATE()),'1900-1-1'),8) コード> プレ>