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

MONTH () SQL सर्वर में उदाहरण (T-SQL)

SQL सर्वर में,  आप MONTH() . का उपयोग कर सकते हैं किसी तिथि के "माह" भाग को वापस करने का कार्य। यह एक पूर्णांक के रूप में लौटाया जाता है (महीने का नाम नहीं)।

नीचे इस फ़ंक्शन का उपयोग करने के उदाहरण दिए गए हैं।

सिंटैक्स

वाक्य रचना इस प्रकार है:

MONTH ( date )

जहां date एक व्यंजक है जो निम्न डेटा प्रकारों में से किसी एक का समाधान करता है:

  • तारीख
  • तारीख
  • डेटाटाइमऑफ़सेट
  • डेटाटाइम2
  • स्मॉलडेटटाइम
  • समय

यह एक कॉलम एक्सप्रेशन, एक्सप्रेशन, स्ट्रिंग लिटरल या यूज़र-डिफ़ाइंड वैरिएबल हो सकता है।

उदाहरण

यह कैसे काम करता है इसका एक बुनियादी उदाहरण यहां दिया गया है:

SELECT 
   SYSDATETIME() AS 'Date',
   MONTH(SYSDATETIME()) AS 'Month';

परिणाम:

+-----------------------------+---------+
| Date                        | Month   |
|-----------------------------+---------|
| 2018-06-18 00:39:06.7954314 | 6       |
+-----------------------------+---------+

तो MONTH() फ़ंक्शन datetime2 . से माह निकालने में सक्षम था मान (जो SYSDATETIME() द्वारा लौटाया गया था) समारोह)।

एक स्ट्रिंग लिटरल के रूप में प्रदान की गई तिथि

यहां एक उदाहरण दिया गया है जहां तारीख एक स्ट्रिंग अक्षर के रूप में प्रदान की जाती है।

SELECT MONTH('2019-01-07') AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 1        |
+----------+

और यहां एक उदाहरण दिया गया है जहां तारीख एक अलग प्रारूप में दी गई है:

SELECT MONTH('07/01/2017') AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 7        |
+----------+

हालांकि, आमतौर पर ऐसे प्रारूपों में तिथियों का उपयोग करने से बचना सबसे अच्छा है। यदि आपको ऐसा करना ही है, तो आपको वर्तमान सत्र की भाषा सेटिंग और/या दिनांक स्वरूप सेटिंग का ध्यान रखना होगा।

भाषा सेटिंग

पिछले उदाहरण का आउटपुट वर्तमान सत्र की भाषा सेटिंग्स और/या दिनांक प्रारूप सेटिंग्स पर निर्भर करेगा।

जब हम भाषा सेट करते हैं, तो दिनांक स्वरूप उसी समय परोक्ष रूप से सेट हो जाता है।

यहां बताया गया है कि जब हम दो भिन्न भाषा परिवेशों में एक ही दिनांक तर्क प्रदान करते हैं तो क्या होता है।

ब्रिटिश

SET LANGUAGE British;
SELECT MONTH('07/01/2017') AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 1        |
+----------+

us_अंग्रेज़ी

SET LANGUAGE us_English;
SELECT MONTH('07/01/2017') AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 7        |
+----------+

दिनांक प्रारूप सेटिंग

दिनांक स्वरूप सेटिंग भाषा सेटिंग को ओवरराइड कर सकती हैं, इसलिए आपको इस सेटिंग के बारे में भी पता होना चाहिए। उदाहरण के लिए, हम us_English . का उपयोग कर सकते हैं हमारी भाषा के लिए (जिसमें mdy . का डिफ़ॉल्ट दिनांक स्वरूप है ), लेकिन हम दिनांक स्वरूप को dmy . होने के लिए ओवरराइड कर सकते हैं ।

यहां एक उदाहरण दिया गया है:

us_English - डिफ़ॉल्ट दिनांक प्रारूप

यहां, हम भाषा को us_English . पर सेट करते हैं , जो परोक्ष रूप से दिनांक प्रारूप को myy . पर सेट करता है ।

SET LANGUAGE us_English;
SELECT MONTH('07/01/2017') AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 7        |
+----------+

us_English - दिनांक प्रारूप को ओवरराइड करें

यहां, हम भाषा को us_English . पर सेट करते हैं (जो परोक्ष रूप से दिनांक प्रारूप सेट करता है), लेकिन फिर हम स्पष्ट रूप से दिनांक प्रारूप को dmy . पर सेट करते हैं . यह उस दिनांक प्रारूप को ओवरराइड करता है जो हमारे द्वारा भाषा सेट करते समय निहित रूप से सेट किया गया था।

SET LANGUAGE us_English;
SET DATEFORMAT dmy;
SELECT MONTH('07/01/2017') AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 1        |
+----------+

माह का नाम लौटाएं

यदि आपको महीने का नाम (माह संख्या के विपरीत) वापस करने की आवश्यकता है, तो SQL सर्वर में किसी दिनांक से माह का नाम प्राप्त करने के 3 तरीके देखें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक विशिष्ट कॉलम अपडेट होने पर केवल ट्रिगर कैसे निष्पादित करें (एसक्यूएल सर्वर)

  2. मैं बिना छँटाई के किसी तालिका में अंतिम 5 पंक्तियों का चयन कैसे करूँ?

  3. SQL सर्वर तालिका में पहचान कॉलम मान को कैसे रीसेट करें - SQL सर्वर / T-SQL ट्यूटोरियल भाग 43

  4. SQL सर्वर में COUNT () बनाम COUNT_BIG ():क्या अंतर है?

  5. डायनेमिक एसक्यूएल (पैरामीटर के रूप में टेबल का नाम पास करना)