इन पर एक नज़र डालें। मैंने इसे पढ़ने योग्य रखने के लिए अधिक कोष्ठक का उपयोग नहीं किया है, इसलिए याद रखें कि गुणा अतिरिक्त या घटाव से पहले किया जाता है।
दोनों वापसी नीचे:
hr mins sec timediff
73 12 30 73:12:30
यह एक उप क्वेरी का उपयोग और सबसे पठनीय और समझ में आने नहीं करने के लिए लिखा है:
declare @StartDate datetime,
@EndDate datetime
set @StartDate = '10/01/2012 08:40:18.000'
set @EndDate = '10/04/2012 09:52:48.000'
select datediff(hour, @StartDate, @EndDate) hr,
datediff(minute, @StartDate, @EndDate)
- datediff(hour, @StartDate, @EndDate) * 60 mins,
datediff(second, @StartDate, @EndDate)
- (datediff(minute, @StartDate, @EndDate) * 60) sec,
cast(datediff(hour, @StartDate, @EndDate) as varchar)+':'+
cast(datediff(minute, @StartDate, @EndDate)
- datediff(hour, @StartDate, @EndDate) * 60 as varchar)+':'+
cast(datediff(second, @StartDate, @EndDate)
- (datediff(minute, @StartDate, @EndDate) * 60) as varchar) timediff
यह एक संस्करण है कि अगर आप बेहतर प्रदर्शन होता है बहुत सारे डेटा हैं इसके लिए एक उप-क्वेरी की आवश्यकता है।
declare @StartDate datetime,
@EndDate datetime
set @StartDate = '10/01/2012 08:40:18.000'
set @EndDate = '10/04/2012 09:52:48.000'
select s.seconds/3600 hrs,
s.seconds/60 - (seconds/3600) * 60 mins,
s.seconds - (s.seconds/60) * 60 seconds,
cast(s.seconds/3600 as varchar) + ':' +
cast((s.seconds/60 - (seconds/3600) * 60) as varchar) + ':' +
cast((s.seconds - (s.seconds/60) * 60) as varchar) timediff
from (select datediff(second, @StartDate, @EndDate) as seconds) s
[टी एसक्यूएल के साथ गिना जा रहा है समयावधि] (के संभावित डुप्लिकेट http://stackoverflow.com/questions/758891/calculating-timespan- तब दिखाई देते हैं साथ-टी-एसक्यूएल) – Pfitz