कभी-कभी SQL सर्वर (या उस मामले के लिए कोई अन्य DBMS) के साथ काम करते समय, आपको एक महीने के लिए संक्षिप्त नाम वापस करने की आवश्यकता होती है। इससे मेरा मतलब एक महीने के 3 अक्षर के संक्षिप्त रूप से है। उदाहरण के लिए, आपको "दिसंबर" के बजाय "दिसंबर" चाहिए।
यहाँ चार तरीके हैं जिनसे आप SQL सर्वर में किसी दिनांक से छोटा महीना नाम निकाल सकते हैं।
फॉर्मेट () फंक्शन
FORMAT()
फ़ंक्शन SQL Server 2012 से उपलब्ध है, और यह महीने को 3 अक्षर के संक्षिप्त नाम के रूप में वापस करने का सबसे संक्षिप्त तरीका है।
यह कैसे काम करता है इसका एक उदाहरण यहां दिया गया है:
DECLARE @date datetime2 = '2000-01-01'; SELECT FORMAT(@date, 'MMM') AS 'FORMAT';
परिणाम:
FORMAT ------ Jan
पहली पंक्ति केवल एक चर घोषित करती है और इसे एक तिथि निर्दिष्ट करती है। दूसरी पंक्ति वह है जहां हम तारीख से छोटे महीने का नाम लौटाते हैं।
CAST() और DATENAME() फ़ंक्शन
यह विकल्प दिनांक को CHAR(3)
. के रूप में कास्ट करता है , जिससे पहले तीन का अनुसरण करने वाले किसी भी वर्ण को काट दिया जाता है।
यहां एक उदाहरण दिया गया है:
DECLARE @date datetime2 = '2000-01-01'; SELECT CAST(DATENAME(month, @date) AS CHAR(3)) AS 'CAST/DATENAME';
परिणाम:
CAST/DATENAME ------------- Jan
बाएं() और DATENAME() फ़ंक्शन
यह विकल्प पिछले वाले के समान है, सिवाय इसके कि यह LEFT()
. का उपयोग करता है दिनांक से 3 सबसे बाएं वर्ण लेने के लिए कार्य करें।
उदाहरण:
DECLARE @date datetime2 = '2000-01-01'; SELECT LEFT(DATENAME(month, @date), 3) AS 'LEFT/DATENAME';
परिणाम:
LEFT/DATENAME ------------- Jan
बाएं () और कन्वर्ट () फ़ंक्शन
यह विकल्प तारीख को वर्चर में बदल देता है, फिर पहले तीन अक्षर लेता है।
उदाहरण:
DECLARE @date datetime2 = '2000-01-01'; SELECT LEFT(CONVERT(varchar, @date, 100), 3) AS 'LEFT/CONVERT';
परिणाम:
LEFT/CONVERT ------------ Jan
इस उदाहरण में, 100
तर्क दिनांक को इस प्रकार शैलीबद्ध करता है कि वह निम्न प्रारूप में हो:सोम दिन yyyy hh:miAM (या PM) . तो हमारे मामले में, तारीख को 1 जनवरी 2000 12:00 पूर्वाह्न . के रूप में स्टाइल किया गया है ।
वहां से, बस LEFT()
के साथ पहले तीन अक्षरों को काटने की बात है समारोह।
बाएं() और MONTHNAME() फ़ंक्शन
यह विकल्प MONTHNAME()
. का उपयोग करता है महीने का नाम वापस करने के लिए ओडीबीसी स्केलर फ़ंक्शन। और पिछले दो उदाहरणों की तरह, हम बस उस महीने के नाम के पहले तीन अक्षर निकालते हैं।
उदाहरण:
DECLARE @date datetime2 = '2000-01-01'; SELECT LEFT({fn MONTHNAME(@date)}, 3) AS 'LEFT/MONTHNAME';
परिणाम:
LEFT/MONTHNAME -------------- Jan