SQL सर्वर का TIMESTAMP
डेटाटाइप में कुछ भी नहीं . है दिनांक और समय के साथ क्या करना है!
यह लगातार 8 बाइट पूर्णांक का एक हेक्साडेसिमल प्रतिनिधित्व है - यह केवल यह सुनिश्चित करने के लिए अच्छा है कि कोई पंक्ति तब से नहीं बदली है जब से इसे पढ़ा गया है।
आप हेक्साडेसिमल पूर्णांक को पढ़ सकते हैं या यदि आप BIGINT
. चाहते हैं . उदाहरण के तौर पर:
SELECT CAST (0x0000000017E30D64 AS BIGINT)
परिणाम है
400756068
SQL सर्वर के नए संस्करणों में, इसे RowVersion
. कहा जा रहा है - चूंकि यह वास्तव में यही है। ROWVERSION पर MSDN दस्तावेज़ देखें:
एक डेटा प्रकार है जो एक डेटाबेस के भीतर स्वचालित रूप से उत्पन्न, अद्वितीय बाइनरी नंबरों को उजागर करता है। पंक्ति-संस्करण आमतौर पर संस्करण-मुद्रांकन तालिका पंक्तियों के लिए एक तंत्र के रूप में उपयोग किया जाता है। Therowversion डेटा प्रकार सिर्फ एक वृद्धिशील संख्या है और यह किसी दिनांक या समय को सुरक्षित नहीं रखता . दिनांक या समय रिकॉर्ड करने के लिए, datetime2data प्रकार का उपयोग करें।
तो आप नहीं SQL सर्वर TIMESTAMP
में कनवर्ट करें किसी दिनांक/समय के लिए - यह केवल दिनांक/समय नहीं है।
लेकिन अगर आप टाइमस्टैम्प कह रहे हैं लेकिन वास्तव में आपका मतलब DATETIME
है कॉलम - फिर आप एमएसडीएन सहायता में कास्ट और कन्वर्ट विषय में वर्णित किसी भी मान्य दिनांक प्रारूप का उपयोग कर सकते हैं। वे SQL सर्वर द्वारा "आउट ऑफ द बॉक्स" परिभाषित और समर्थित हैं। कुछ और समर्थित नहीं है, उदा. आपको बहुत सी मैन्युअल कास्टिंग और संयोजन करना होगा (अनुशंसित नहीं)।
आप जिस प्रारूप की तलाश कर रहे हैं वह कुछ हद तक ODBC विहित जैसा दिखता है (शैली =121):
DECLARE @today DATETIME = SYSDATETIME()
SELECT CONVERT(VARCHAR(50), @today, 121)
देता है:
2011-11-14 10:29:00.470
SQL सर्वर 2012 में अंततः एक FORMAT
होगा कस्टम स्वरूपण करने के लिए कार्य करता है......