जब भी आप SQL सर्वर से कनेक्ट होते हैं, तो आपके सत्र में डिफ़ॉल्ट सेटिंग्स का एक समूह लागू होता है। इनमें भाषा और दिनांक प्रारूप सेटिंग शामिल हैं।
दिनांक स्वरूप सामान्य रूप से आपकी डिफ़ॉल्ट भाषा द्वारा निर्धारित किया जाता है। उदाहरण के लिए, यदि आपकी डिफ़ॉल्ट भाषा us_english
. है , तो डिफ़ॉल्ट दिनांक स्वरूप संभवतः mdy
. होगा , और सप्ताह का पहला दिन दिन होगा 7
(रविवार)।
यदि आप अपनी भाषा बदलते हैं, तो आप दिनांक प्रारूप को तदनुसार अपडेट कर दिया जाएगा।
हालाँकि, आपके पास अभी भी भाषा को बदले बिना दिनांक स्वरूप बदलने का विकल्प है। ऐसा करने के लिए, आप SET DATEFORMAT
. का उपयोग कर सकते हैं .
उदाहरण
सबसे पहले, वर्तमान सेटिंग पर एक नज़र डालते हैं।
DBCC USEROPTIONS;
परिणाम:
+-------------------------+----------------+ | Set Option | Value | |-------------------------+----------------| | textsize | -1 | | language | us_english | | dateformat | mdy | | datefirst | 7 | | lock_timeout | 5000 | | quoted_identifier | SET | | arithabort | SET | | ansi_null_dflt_on | SET | | ansi_warnings | SET | | ansi_padding | SET | | ansi_nulls | SET | | concat_null_yields_null | SET | | isolation level | read committed | +-------------------------+----------------+
तो मेरी वर्तमान भाषा है us_english
और दिनांक प्रारूप mdy
. है ।
आइए दिनांक स्वरूप बदलें और फिर से जांचें।
SET DATEFORMAT dmy;
DBCC USEROPTIONS;
परिणाम:
+-------------------------+----------------+ | Set Option | Value | |-------------------------+----------------| | textsize | -1 | | language | us_english | | dateformat | dmy | | datefirst | 7 | | lock_timeout | 5000 | | quoted_identifier | SET | | arithabort | SET | | ansi_null_dflt_on | SET | | ansi_warnings | SET | | ansi_padding | SET | | ansi_nulls | SET | | concat_null_yields_null | SET | | isolation level | read committed | +-------------------------+----------------+
इसलिए मैंने भाषा को बदले बिना दिनांक प्रारूप को सफलतापूर्वक बदल दिया। हालांकि, datefirst
वैसा ही रहता है। अगर आप datefirst
बदलना चाहते हैं मान, SET DATEFIRST
. का उपयोग करें ।
SET DATEFIRST 1;
DBCC USEROPTIONS;
परिणाम:
+-------------------------+----------------+ | Set Option | Value | |-------------------------+----------------| | textsize | -1 | | language | us_english | | dateformat | dmy | | datefirst | 1 | | lock_timeout | 5000 | | quoted_identifier | SET | | arithabort | SET | | ansi_null_dflt_on | SET | | ansi_warnings | SET | | ansi_padding | SET | | ansi_nulls | SET | | concat_null_yields_null | SET | | isolation level | read committed | +-------------------------+----------------+
इस मामले में मैंने सप्ताह के पहले दिन को बदलकर 1 दिन कर दिया है, जो कि सोमवार है।
इसे वापस रीसेट करें
भाषा को सेट करने से dateformat
परोक्ष रूप से सेट हो जाएगा और datefirst
सेटिंग्स उस भाषा के लिए उनके डिफ़ॉल्ट मानों पर वापस आ जाती हैं (भले ही आप भाषा को वर्तमान भाषा में रीसेट कर दें)।
इसलिए मेरे मामले में, मैं भाषा को us_english
. पर रीसेट कर सकता हूं , और यह दिनांक स्वरूप मानों को भी रीसेट कर देगा।
SET LANGUAGE us_English;
DBCC USEROPTIONS;
परिणाम:
+-------------------------+----------------+ | Set Option | Value | |-------------------------+----------------| | textsize | -1 | | language | us_english | | dateformat | mdy | | datefirst | 7 | | lock_timeout | 5000 | | quoted_identifier | SET | | arithabort | SET | | ansi_null_dflt_on | SET | | ansi_warnings | SET | | ansi_padding | SET | | ansi_nulls | SET | | concat_null_yields_null | SET | | isolation level | read committed | +-------------------------+----------------+