हाँ, SQL Server राउंड टाइम 3.(3) मिलीसेकंड:
SELECT CAST(CAST('2009-01-01 00:00:00.000' AS DATETIME) AS BINARY(8))
SELECT CAST(CAST('2009-01-01 00:00:01.000' AS DATETIME) AS BINARY(8))
0x00009B8400000000
0x00009B840000012C
जैसा कि आप देख सकते हैं, ये DATETIME 1 . से भिन्न है दूसरा, और उनके द्विआधारी प्रतिनिधित्व 0x12C . द्वारा भिन्न होते हैं , यानी 300 दशमलव में।
ऐसा इसलिए है क्योंकि SQL Server time स्टोर करता है DATETIME . का हिस्सा 1/300 . की संख्या के रूप में मध्यरात्रि से दूसरी टिक।
यदि आप अधिक सटीकता चाहते हैं, तो आपको TIME स्टोर करने की आवश्यकता है एक अलग मूल्य के रूप में भाग। जैसे, स्टोर का समय DATETIME . के रूप में एक सेकंड के लिए पूर्णांकित किया गया है , और मिलीसेकंड या INTEGER . के रूप में आपको जो भी सटीकता चाहिए दूसरे कॉलम में।
यह आपको जटिल DATETIME . का उपयोग करने देगा अंकगणित, जैसे DATETIME . पर महीनों को जोड़ना या सप्ताह के दिनों को खोजना है, और आप केवल मिलीसेकंड जोड़ या घटा सकते हैं और परिणाम को .XXXXXX+HH:MM के रूप में जोड़ सकते हैं मान्य XML प्राप्त करने के लिए प्रतिनिधित्व।