SQL सर्वर का उपयोग करते समय, आपके पास कुछ अलग विकल्प होते हैं जब आपको T-SQL का उपयोग करके किसी तिथि से महीने का नाम वापस करने की आवश्यकता होती है। महीने के नाम से, मैं महीने की संख्या के बारे में बात नहीं कर रहा हूँ (जैसे 07 ) मैं महीने के पूरे नाम के बारे में बात कर रहा हूँ (जैसे जुलाई )।
उदाहरण के लिए, जब 2018-07-01 . की तारीख दी गई हो , आप जुलाई . चाहते हैं लौटाया जाना है।
यह आलेख T-SQL का उपयोग करके SQL सर्वर में दिनांक से महीने का नाम वापस करने के तीन तरीके प्रस्तुत करता है।
फॉर्मेट () फंक्शन
FORMAT()
फ़ंक्शन निर्दिष्ट प्रारूप और वैकल्पिक संस्कृति में स्वरूपित मान देता है। आप इसका उपयोग किसी तिथि से महीने का नाम वापस करने के लिए कर सकते हैं।
यहां एक उदाहरण दिया गया है:
DECLARE @date datetime2 = '2018-07-01'; SELECT FORMAT(@date, 'MMMM') AS Result;
परिणाम:
+----------+ | Result | |----------| | July | +----------+
इस मामले में हमने MMMM
. की एक प्रारूप स्ट्रिंग प्रदान की है जो महीने का नाम वापस करने के लिए एक कस्टम दिनांक और समय प्रारूप स्ट्रिंग है।
FORMAT()
. के बारे में अच्छी बात फ़ंक्शन यह है कि यह एक वैकल्पिक तर्क को स्वीकार करता है जो आपको उपयोग करने के लिए संस्कृति को निर्दिष्ट करने की अनुमति देता है।
यहां कुछ उदाहरण दिए गए हैं:
DECLARE @date datetime2 = '2018-07-01'; SELECT FORMAT(@date, 'MMMM', 'en-US') AS 'en-US', FORMAT(@date, 'MMMM', 'es-es') AS 'es-es', FORMAT(@date, 'MMMM', 'de-de') AS 'de-de', FORMAT(@date, 'MMMM', 'zh-cn') AS 'zh-cn';
परिणाम:
+---------+---------+---------+---------+ | en-US | es-es | de-de | zh-cn | |---------+---------+---------+---------| | July | julio | Juli | 七月 | +---------+---------+---------+---------+
यदि आप संस्कृति तर्क प्रदान नहीं करते हैं, तो वर्तमान सत्र की भाषा का उपयोग किया जाता है। यदि आप सुनिश्चित नहीं हैं कि वर्तमान सत्र किस भाषा का उपयोग कर रहा है, तो वर्तमान सत्र की भाषा प्राप्त करने के 3 तरीके यहां दिए गए हैं। यदि आप पाते हैं कि आपको भाषा बदलने की आवश्यकता है, तो इसे दूसरी भाषा में कैसे सेट करें।
आप FORMAT()
. का भी उपयोग कर सकते हैं संक्षिप्त महीने का नाम प्राप्त करने के लिए कार्य करें। ऐसा करने के लिए, बस MMM
. का उपयोग करें (तीन M
s चार के बजाय)।
यहां एक उदाहरण दिया गया है जो संक्षिप्त महीने का नाम और पूरे महीने का नाम दोनों देता है:
DECLARE @date datetime2(0) = '2028-09-01'; SELECT FORMAT(@date, 'MMM', 'en-US') 'en-US', FORMAT(@date, 'MMM', 'es-es') 'es-es', FORMAT(@date, 'MMM', 'it') 'it' UNION ALL SELECT FORMAT(@date, 'MMMM', 'en-US'), FORMAT(@date, 'MMMM', 'es-es'), FORMAT(@date, 'MMMM', 'it');
परिणाम:
+-----------+------------+-----------+ | en-US | es-es | it | |-----------+------------+-----------| | Sep | sep. | set | | September | septiembre | settembre | +-----------+------------+-----------+
यह संक्षिप्त महीने का नाम किसी तिथि से प्राप्त करने के कई तरीकों में से एक है (हालाँकि यह विधि यकीनन सबसे अच्छी है)। कम से कम चार और तरीके हैं जिनसे आप किसी तिथि से संक्षिप्त महीने का नाम वापस कर सकते हैं।
DATENAME() फ़ंक्शन
DATENAME()
फ़ंक्शन DATEPART()
के समान है फ़ंक्शन, सिवाय इसके कि यह नाम . लौटाता है निर्दिष्ट तिथि भाग का (लेकिन केवल जहां एक नाम लागू होता है)। इसका मतलब है कि यदि आपको इसकी आवश्यकता है तो यह सप्ताह के दिन का नाम या महीने का नाम लौटाता है।
इस फ़ंक्शन के साथ महीने का नाम कैसे प्राप्त करें:
DECLARE @date datetime2 = '2018-07-01'; SELECT DATENAME(month, @date) AS Result;
परिणाम:
+----------+ | Result | |----------| | July | +----------+
MONTHNAME() ODBC स्केलर फंक्शन
विशेष रूप से किसी तिथि से महीने का नाम वापस करने के लिए एक ओडीबीसी स्केलर फ़ंक्शन है। इसका नाम है MONTHNAME()
, और यह इस प्रकार है:
DECLARE @date datetime2 = '2018-07-01'; SELECT {fn MONTHNAME(@date)} AS Result;
परिणाम:
+----------+ | Result | |----------| | July | +----------+
टी-एसक्यूएल में ओडीबीसी स्केलर फ़ंक्शंस का उपयोग करते समय, वे घुंघराले ब्रेसिज़ से घिरे होते हैं ({}
) और फ़ंक्शन का नाम fn
. के साथ उपसर्ग किया गया है ।
यदि आपको छोटे महीने का नाम प्राप्त करने की आवश्यकता है, तो SQL सर्वर में दिनांक से लघु माह का नाम प्राप्त करने के 5 तरीके देखें।