SQL सर्वर द्वारा समर्थित कई प्रारूप हैं - MSDN पुस्तकें ऑनलाइन कास्ट करें
और बदलें
. उनमें से अधिकतर प्रारूप आश्रित हैं आपके पास कौन सी सेटिंग्स हैं - इसलिए, ये सेटिंग्स कुछ समय काम कर सकती हैं - और कभी-कभी नहीं।
इसे हल करने का तरीका (थोड़ा अनुकूलित) ISO-8601 दिनांक प्रारूप का उपयोग करना है जो SQL सर्वर द्वारा समर्थित है - यह प्रारूप हमेशा काम करता है - आपकी SQL सर्वर भाषा और दिनांक स्वरूप सेटिंग्स पर ध्यान दिए बिना।
ISO-8601 प्रारूप SQL सर्वर द्वारा समर्थित दो फ्लेवर में आता है:
YYYYMMDD
केवल तिथियों के लिए (कोई समय भाग नहीं); यहां ध्यान दें:कोई डैश नहीं! , यह बहुत महत्वपूर्ण है!YYYY-MM-DD
है नहीं आपके SQL सर्वर में दिनांक स्वरूप सेटिंग्स से स्वतंत्र और नहीं सभी स्थितियों में काम करें!
या:
YYYY-MM-DDTHH:MM:SS
दिनांक और समय के लिए - यहां नोट करें:इस प्रारूप में है डैश (लेकिन वे कर सकते हैं छोड़ा जा सकता है), और एक निश्चितT
आपकेDATETIME
. के दिनांक और समय भाग के बीच सीमांकक के रूप में ।
यह SQL Server 2000 और नए के लिए मान्य है।
यदि आप SQL Server 2008 या नए और DATE
का उपयोग करते हैं डेटाटाइप (केवल DATE
- नहीं डेटटाइम
!), तो आप वास्तव में YYYY-MM-DD
. का भी उपयोग कर सकते हैं स्वरूप और वह भी, आपके SQL सर्वर में किसी भी सेटिंग के साथ काम करेगा।
मुझसे मत पूछो कि यह पूरा विषय इतना पेचीदा और थोड़ा भ्रमित करने वाला क्यों है - बस यही तरीका है। लेकिन YYYYMMDD
. के साथ प्रारूप, आपको SQL सर्वर के किसी भी संस्करण के लिए और अपने SQL सर्वर में किसी भी भाषा और दिनांक स्वरूप सेटिंग के लिए ठीक होना चाहिए।
SQL Server 2008 और नए के लिए अनुशंसा DATE
. का उपयोग करना है यदि आपको केवल दिनांक भाग की आवश्यकता है, और DATETIME2(n)
जब आपको तारीख और समय दोनों चाहिए। आपको DATETIME
. को चरणबद्ध तरीके से समाप्त करने का प्रयास करना चाहिए डेटाटाइप यदि संभव हो तो