SQL सर्वर में, आप MONTH()
. का उपयोग कर सकते हैं एक महीने के नाम को उसकी संगत संख्या में बदलने के लिए कार्य करता है।
उदाहरण
महीने के नाम को महीने की संख्या में बदलने का एक उदाहरण यहां दिया गया है।
SELECT MONTH('September' + '1,1');
परिणाम:
9
मैं यहां जो कर रहा हूं वह मूल रूप से "तारीख" (जिसमें मेरा निर्दिष्ट महीना शामिल है) बना रहा है ताकि SQL सर्वर MONTH()
का उपयोग करते समय कोई त्रुटि न फेंके वैध तिथि के बिना कार्य करें।
यह फ़ंक्शन किसी भी अभिव्यक्ति को स्वीकार करता है जिसे समय . के लिए हल किया जा सकता है , तारीख , स्मॉलडेटटाइम , डेटाटाइम , डेटाटाइम2 , या डेटाटाइमऑफ़सेट मूल्य। यह एक एक्सप्रेशन, कॉलम एक्सप्रेशन, यूज़र-डिफ़ाइंड वैरिएबल या स्ट्रिंग लिटरल हो सकता है।
अधिक "दिनांक-समान"
आप कुछ इस तरह से "तारीख जैसा" तर्क भी दे सकते हैं:
SELECT MONTH('September' + ' 01, 1900');
परिणाम:
9
वर्तमान दिन और वर्ष
या यदि आप वर्तमान दिन और वर्ष का उपयोग करना पसंद करते हैं, तो आप कुछ ऐसा कर सकते हैं:
SELECT MONTH('September' + FORMAT(GETDATE(), 'd,y'));
परिणाम:
9
हालांकि स्पष्ट होने के लिए, जब तक निर्दिष्ट माह वर्तमान माह के समान नहीं है, तब तक आपके पास वर्तमान तिथि से भिन्न तिथि होगी।
मेरा मतलब समझाने के लिए यहां एक उदाहरण दिया गया है:
SELECT
FORMAT(GETDATE(), 'MMMM d, yyyy') AS [Today],
'September' + FORMAT(GETDATE(), ' d, yyyy') AS [Modified],
MONTH('September' + FORMAT(GETDATE(), ' d, yyyy')) AS [Month Number];
परिणाम:
+----------------+--------------------+----------------+ | Today | Modified | Month Number | |----------------+--------------------+----------------| | March 22, 2020 | September 22, 2020 | 9 | +----------------+--------------------+----------------+
मैंने यह प्रश्न 22 मार्च, 2020 को चलाया था, लेकिन संशोधित तिथि 22 सितंबर, 2020 है।
भले ही, जब हम MONTH()
. का उपयोग करते हैं, तो सही माह संख्या वापस आ जाती है ।