यदि आपको एक स्ट्रिंग-आधारित दिनांक प्रारूप का उपयोग करना चाहिए, तो आपको एक ऐसा प्रारूप चुनना चाहिए जो सुरक्षित . हो और दिनांक स्वरूप, भाषा और क्षेत्रीय सेटिंग्स की परवाह किए बिना प्रत्येक SQL सर्वर आवृत्ति में काम करता है।
उस प्रारूप को ISO-8601 . के रूप में जाना जाता है प्रारूप और यह या तो है
YYYYMMDD (note: **NO** dashes!)
या
YYYY-MM-DDTHH:MM:SSS
DATETIME
. के लिए स्तंभ।
तो इसके बजाय
Convert(datetime, '28/11/2012', 103)
आपको उपयोग करना चाहिए
CAST('20121128' AS DATETIME)
और फिर आपको ठीक होना चाहिए।
यदि आप SQL सर्वर पर हैं 2008 - आप DATE
. का उपयोग करने पर भी विचार कर सकते हैं (DATETIME
के बजाय ) उन मामलों के लिए जब आपको केवल तिथि की आवश्यकता होती है (कोई समय भाग नहीं)। यह DATETIME
using का उपयोग करने से भी आसान होगा और समय भाग हमेशा 00:00:00
होना चाहिए