बस दो डेटाइम मानों को घटाएँ और 24 से गुणा करें:
Select Cast((@DateTime2 - @DateTime1) as Float) * 24.0
एक परीक्षण स्क्रिप्ट हो सकती है:
Declare @Dt1 dateTime Set @Dt1 = '12 Jan 2009 11:34:12'
Declare @Dt2 dateTime Set @Dt2 = getdate()
Select Cast((@Dt2 - @Dt1) as Float) * 24.0
यह काम करता है क्योंकि सभी डेटासेट को पूर्णांक की एक जोड़ी के रूप में आंतरिक रूप से संग्रहीत किया जाता है, पहला पूर्णांक 1 जनवरी 1900 से दिनों की संख्या है, और दूसरा पूर्णांक (समय का प्रतिनिधित्व करते हुए) मध्यरात्रि से ( 1 ) टिक की संख्या है । (SmallDatetimes के लिए मध्याह्न के बाद का समय पूर्णांक मिनट की संख्या है)। मूल्यों पर किया गया कोई भी अंकगणित दिन के अंश के रूप में समय भाग का उपयोग करता है। 6am = 0.25, दोपहर = 0.5, आदि ... अधिक विवरण के लिए यहां MSDN लिंक देखें।
तो Cast ((@ Dt2 - @ Dt1) फ्लोट के रूप में) आपको दो डेटासेट के बीच कुल दिन देता है। घंटों में परिवर्तित करने के लिए 24 से गुणा करें। यदि आपको कुल मिनटों की आवश्यकता है, तो 24 के बजाय प्रति दिन (24 * 60 = 1440) प्रति मिनट से अधिक ...
नोट 1 : यह डॉटनेट या जावास्क्रिप्ट टिक के समान नहीं है - यह टिक लगभग 3.33 मिलीसेकंड है।