आप नीचे दिए गए टी-एसक्यूएल कोड का उपयोग करके एसक्यूएल सर्वर में एक महीने की संख्या को उसके संबंधित नाम में बदल सकते हैं।
यह ऐसे समय के लिए है जब आपके पास वास्तव में पूरी तारीख नहीं होती है - जब आपके पास महीने की संख्या होती है। अगर आप करते हैं तारीख है, तो यहां बताया गया है कि किसी तारीख से महीने का नाम कैसे प्राप्त करें।
उदाहरण
आप DATENAME()
. का उपयोग करके महीने का नाम उसकी संगत संख्या से प्राप्त कर सकते हैं DATEADD()
. के संयोजन के साथ कार्य करें ।
यहां एक उदाहरण दिया गया है जो महीने 10 (अक्टूबर) का उपयोग करता है:
SELECT DATENAME(
month,
DATEADD( month , 10, -1 )
);
परिणाम:
October
कोड की व्याख्या
अगर आप सोच रहे हैं कि -1
क्यों है उपरोक्त कोड में, ऐसा इसलिए है क्योंकि आधार तिथि 1900-01-01 है (ठीक है, 1900-01-01 00:00:00.000 सटीक होने के लिए)।
यदि हम 10 को 01 में जोड़ते हैं, तो हमें 11 मिलता है, जो नवंबर (गलत महीना) है। इसलिए हमें इसे 1 से घटाना होगा।
निम्नलिखित उदाहरण इसे मेरे शब्दों से बेहतर तरीके से स्पष्ट करना चाहिए। यहां विभिन्न DATEADD()
हैं तीसरे तर्क के रूप में मैं जो उपयोग करता हूं, उसके आधार पर लौटाए गए मान।
SELECT
DATEADD( month, 0, 0 ) AS [Base Date],
DATEADD( month, 10, 0 ) AS [Add 10],
DATEADD( month, 10, -1 ) AS [Subtract 1];
परिणाम:
+-------------------------+-------------------------+-------------------------+ | Base Date | Add 10 | Subtract 1 | |-------------------------+-------------------------+-------------------------| | 1900-01-01 00:00:00.000 | 1900-11-01 00:00:00.000 | 1900-10-31 00:00:00.000 | +-------------------------+-------------------------+-------------------------+
तो तीसरा विकल्प हमें सही महीने की संख्या देता है, और फिर यह DATENAME()
का उपयोग करने का एक साधारण मामला है इसे महीने के नाम में बदलने के लिए।
एक वैकल्पिक:FORMAT()
अगर आपको DATENAME()
पसंद नहीं है फ़ंक्शन, आप इसे FORMAT()
. के लिए स्वैप कर सकते हैं इसके बजाय कार्य करें। वही अवधारणा लागू होती है।
SELECT FORMAT(
DATEADD( month , 10, -1 ),
'MMMM'
);
परिणाम:
October