Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर (T-SQL) में वर्तमान दिनांक स्वरूप कैसे बदलें

जब आप SQL सर्वर से कनेक्ट होते हैं, तो आमतौर पर दिनांक स्वरूप आपकी भाषा द्वारा निर्धारित किया जाता है। किसी सत्र के लिए डिफ़ॉल्ट भाषा उस सत्र के लॉगिन के लिए भाषा है, जब तक कि ओपन डेटाबेस कनेक्टिविटी (ओडीबीसी) या ओएलई डीबी एपीआई का उपयोग करके प्रति-सत्र आधार पर ओवरराइड नहीं किया जाता है।

दिनांक स्वरूप सेटिंग वर्ण स्ट्रिंग की व्याख्या को प्रभावित करती है क्योंकि वे डेटाबेस में संग्रहण के लिए दिनांक मानों में परिवर्तित हो जाते हैं। यह दिनांक डेटा प्रकार मानों के प्रदर्शन को प्रभावित नहीं करता है जो डेटाबेस या भंडारण प्रारूप में संग्रहीत होते हैं।

इस तथ्य के बावजूद कि आपके सत्र की भाषा दिनांक स्वरूप निर्धारित करती है, यदि आवश्यक हो तो आप दिनांक प्रारूप को ओवरराइड कर सकते हैं। उदाहरण के लिए, यदि आपकी भाषा us_english है , दिनांक प्रारूप mdy होगा (ताकि 07/01/2018 1 जुलाई का प्रतिनिधित्व करता है और 7 जनवरी को नहीं)। आप इसे बदल सकते हैं ताकि दिनांक प्रारूप dmy . हो (या कोई अन्य प्रारूप) जबकि भाषा बनी रहती है us_english

आप SET DATEFORMAT का उपयोग करके वर्तमान सत्र के दिनांक स्वरूप को स्पष्ट रूप से सेट करने के लिए T-SQL का उपयोग कर सकते हैं बयान।

सिंटैक्स

यहां बताया गया है कि सिंटैक्स कैसे जाता है:

SET DATEFORMAT { format | @format_var }

जहां format | @format_var दिनांक भागों का क्रम है।

मान्य मान हैं mdy , dmy , ymd , ydm , myd , और dym . ये या तो यूनिकोड या डबल-बाइट कैरेक्टर सेट (DBCS) हो सकते हैं जिन्हें यूनिकोड में बदला जा सकता है।

हालांकि, ध्यान दें कि  ydm तारीख . के लिए समर्थित नहीं है , डेटाटाइम2 और डेटाटाइमऑफ़सेट डेटा प्रकार।

उदाहरण

इससे पहले कि हम कुछ भी बदलें, आइए वर्तमान उपयोगकर्ता विकल्पों को देखें। यह हमें बताएगा कि वर्तमान भाषा क्या है और तिथि प्रारूप (साथ ही कुछ अन्य चीजें):

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 |
+-------------------------+----------------+

और हम देख सकते हैं कि दिनांक स्वरूप बदल गया है, जबकि भाषा वही रहती है।

तो यह है कि भाषा को बदले बिना दिनांक प्रारूप को कैसे बदला जाए। जैसा कि उल्लेख किया गया है, यदि आप भाषा बदलते हैं, तो यह निश्चित रूप से उसी समय दिनांक स्वरूप निर्धारित करेगा। यदि आप यही करना चाहते हैं, तो देखें कि SQL सर्वर (T-SQL) में वर्तमान भाषा कैसे सेट करें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अलग-अलग इंसर्ट स्टेटमेंट को निष्पादित करने के लिए काउंट के आधार पर IF ELSE स्टेटमेंट का उपयोग करना

  2. SQL सर्वर में एक क्वेरी टाइमआउट को मजबूर करना

  3. SQL सर्वर .bak फ़ाइल को MySQL में कैसे आयात करें?

  4. SQL सर्वर 2017 में नई सुविधाएँ (डेटाबेस इंजन)

  5. ऑपरेशन के बराबर में SQL_Latin1_General_CP1_CI_AS और लैटिन1_General_CI_AS के बीच टकराव को हल नहीं कर सकता