Time
अपने प्रदर्शन प्रारूप . के साथ संग्रहीत नहीं है SQL सर्वर में।
इसलिए, उपयोगकर्ता के दृष्टिकोण से, आप कह सकते हैं कि इसका कोई प्रारूप नहीं है।
बेशक, यह पूरी तरह सटीक नहीं है क्योंकि इसमें संग्रहण प्रारूप है , लेकिन एक औसत उपयोगकर्ता के रूप में आप वास्तव में इसका उपयोग नहीं कर सकते हैं।
यह सभी दिनांक और समय डेटा प्रकारों के लिए सही है:Date
, DateTimeOffset
, DateTime2
, SmallDateTime
, DateTime
और Time
।
यदि आपको किसी प्रारूप की आवश्यकता है तो आपको Time
. पर कास्ट करने की आवश्यकता नहीं है लेकिन एक char
. के लिए . Convert
का उपयोग करें char
. प्राप्त करने के लिए आपको चाहिए:
SELECT CONVERT(char(10), [time], 108) as CSTTime
यदि आप रुचि रखते हैं तो यहां कुछ पृष्ठभूमि डेटा दिया गया है:
2000 में प्रकाशित इस लेख में लेखक गहराई से बताता है कि SQL सर्वर दिनांक और समय का कैसे व्यवहार करता है। मुझे संदेह है कि 2000 और 2015 के बीच SQL सर्वर स्टोर करने के तरीके में कुछ भी महत्वपूर्ण बदल गया है date
, Time
और datetime
मान आंतरिक रूप से।
यहां प्रासंगिक उद्धरण दिए गए हैं, यदि आप यह सब नहीं पढ़ना चाहते हैं:
<ब्लॉकक्वॉट>तो SQL सर्वर आंतरिक रूप से तिथियों को कैसे संग्रहीत करता है? यह डेटाटाइम वैल्यू को स्टोर करने के लिए 8 बाइट्स का उपयोग करता है- तारीख के लिए पहला 4 और समय के लिए दूसरा 4। SQL सर्वर 4 बाइट्स के दोनों सेटों को पूर्णांकों के रूप में व्याख्या कर सकता है। आधी रात के बाद घड़ी की टिक टिक की संख्या। एक सेकंड में 300 टिक होते हैं, इसलिए एक टिक 3.3 मिलीसेकंड (ms) के बराबर होता है।
Time
. के बाद से वास्तव में 4 बाइट पूर्णांक के रूप में संग्रहीत किया जाता है, इसमें वास्तव में डेटा प्रकार के अभिन्न अंग के रूप में प्रारूप नहीं होता है।
कोड नमूने के साथ अधिक विस्तृत विवरण के लिए आप इस लेख को भी देखना चाहेंगे।