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

SQL सर्वर में दिनांक से लघु माह का नाम प्राप्त करने के 5 तरीके

कभी-कभी 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               


  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. मैं टी-एसक्यूएल में प्रतिशत चिह्न से कैसे बचूं?

  3. बड़ी तालिकाओं पर SQL सर्वर क्वेरी प्रदर्शन में सुधार करें

  4. विशिष्ट अभिलेखों पर PIVOT क्वेरी

  5. SQL सर्वर में क्रिप्टोग्राफ़िक, रैंडम नंबर बनाने के लिए CRYPT_GEN_RANDOM() का उपयोग करें