必要な出力に応じて:
DECLARE @s INT =139905;SELECT CONVERT(VARCHAR(12), @s /60/60/24) + ' Day(s), ' + CONVERT(VARCHAR(12), @s /60 /60 % 24) + ':' + RIGHT('0' + CONVERT(VARCHAR(2), @s /60 % 60), 2) + ':' + RIGHT('0' + CONVERT(VARCHAR(2)) , @s % 60), 2);コード> プレ>
結果:
1 日、14:51:45
プレ>
または:
DECLARE @s INT =139905;SELECT CONVERT(VARCHAR(12), @s /60/60/24) + ' Day(s), ' + CONVERT(VARCHAR(12), @s /60 /60 % 24) + ' 時間, ' + CONVERT(VARCHAR(2), @s /60 % 60) + ' 分, ' + CONVERT(VARCHAR(2), @s % 60) + ' Second(s).';
プレ>
結果:
1 日、14 時間、51 分、45 秒。
プレ>
60/60/24
を置き換えることができます 86400
で などですが、/seconds/minutes/hours の計算をそのままにしておくと、自己文書化が改善されます。テーブルに反対する場合は、 column_name
を使用してください @s
の代わりに .