आप जो आउटपुट चाहते हैं उसके आधार पर:
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 Day(s), 14:51:45
या:
DECLARE @s INT = 139905;
SELECT
CONVERT(VARCHAR(12), @s /60/60/24) + ' Day(s), '
+ CONVERT(VARCHAR(12), @s /60/60 % 24) + ' Hour(s), '
+ CONVERT(VARCHAR(2), @s /60 % 60) + ' Minute(s), '
+ CONVERT(VARCHAR(2), @s % 60) + ' Second(s).';
परिणाम:
1 Day(s), 14 Hour(s), 51 Minute(s), 45 Second(s).
आप 60/60/24
. को बदल सकते हैं 86400
. के साथ आदि, लेकिन अगर आप/सेकंड/मिनट/घंटे की गणना में छोड़ देते हैं तो मुझे यह बेहतर स्व-दस्तावेजीकरण लगता है। और यदि आप किसी तालिका के विरुद्ध जा रहे हैं, तो बस column_name
. का उपयोग करें @s
. के स्थान पर ।