SQL सर्वर में, आप DAY()
. का उपयोग कर सकते हैं किसी तिथि के "दिन" भाग को वापस करने के लिए कार्य करता है। यह फ़ंक्शन एक पूर्णांक देता है जो महीने के दिन का प्रतिनिधित्व करता है (सप्ताह का दिन नहीं)।
नीचे इस फ़ंक्शन का उपयोग करने के उदाहरण दिए गए हैं।
सिंटैक्स
वाक्य रचना इस प्रकार है:
DAY ( date )
जहां date
एक व्यंजक है जो निम्न डेटा प्रकारों में से किसी एक का समाधान करता है:
- तारीख
- तारीख
- डेटाटाइमऑफ़सेट
- डेटाटाइम2
- स्मॉलडेटटाइम
- समय
यह एक कॉलम एक्सप्रेशन, एक्सप्रेशन, स्ट्रिंग लिटरल या यूज़र-डिफ़ाइंड वैरिएबल हो सकता है।
उदाहरण
यह कैसे काम करता है इसका एक बुनियादी उदाहरण यहां दिया गया है:
SELECT SYSDATETIME() AS 'Date', DAY(SYSDATETIME()) AS 'Day';
परिणाम:
+-----------------------------+-------+ | Date | Day | |-----------------------------+-------| | 2018-06-18 00:20:22.1284540 | 18 | +-----------------------------+-------+
तो DAY()
फ़ंक्शन datetime2 . से दिन निकालने में सक्षम था मान (जो SYSDATETIME()
द्वारा लौटाया गया था) समारोह)।
एक स्ट्रिंग लिटरल के रूप में प्रदान की गई तिथि
यहां एक उदाहरण दिया गया है जहां तारीख एक स्ट्रिंग अक्षर के रूप में प्रदान की जाती है।
SELECT DAY('2019-01-07') AS Result;
परिणाम:
+----------+ | Result | |----------| | 7 | +----------+
और यहां एक उदाहरण दिया गया है जहां तारीख एक अलग प्रारूप में दी गई है:
SELECT DAY('07/01/2017') AS Result;
परिणाम:
+----------+ | Result | |----------| | 1 | +----------+
हालांकि, आमतौर पर ऐसे प्रारूपों में तिथियों का उपयोग करने से बचना सबसे अच्छा है। यदि आपको ऐसा करना ही है, तो आपको वर्तमान सत्र की भाषा सेटिंग और/या दिनांक स्वरूप सेटिंग का ध्यान रखना होगा।
भाषा सेटिंग
पिछले उदाहरण का आउटपुट वर्तमान सत्र की भाषा सेटिंग्स और/या दिनांक प्रारूप सेटिंग्स पर निर्भर करेगा।
जब हम भाषा सेट करते हैं, तो दिनांक स्वरूप उसी समय परोक्ष रूप से सेट हो जाता है।
यहां बताया गया है कि जब हम दो भिन्न भाषा परिवेशों में एक ही दिनांक तर्क प्रदान करते हैं तो क्या होता है।
ब्रिटिश
SET LANGUAGE British; SELECT DAY('07/01/2017') AS Result;
परिणाम:
+----------+ | Result | |----------| | 7 | +----------+
us_अंग्रेज़ी
SET LANGUAGE us_English; SELECT DAY('07/01/2017') AS Result;
परिणाम:
+----------+ | Result | |----------| | 1 | +----------+
दिनांक प्रारूप सेटिंग
दिनांक स्वरूप सेटिंग भाषा सेटिंग को ओवरराइड कर सकती हैं, इसलिए आपको इस सेटिंग के बारे में भी पता होना चाहिए। उदाहरण के लिए, हम us_English . का उपयोग कर सकते हैं हमारी भाषा के लिए (जिसमें mdy . का डिफ़ॉल्ट दिनांक स्वरूप है ), लेकिन हम दिनांक स्वरूप को dmy . होने के लिए ओवरराइड कर सकते हैं ।
यहां एक उदाहरण दिया गया है:
us_English - डिफ़ॉल्ट दिनांक प्रारूप
यहां, हम भाषा को us_English . पर सेट करते हैं , जो परोक्ष रूप से दिनांक प्रारूप को myy . पर सेट करता है ।
SET LANGUAGE us_English; SELECT DAY('07/01/2017') AS Result;
परिणाम:
+----------+ | Result | |----------| | 1 | +----------+
us_English - दिनांक प्रारूप को ओवरराइड करें
यहां, हम भाषा को us_English . पर सेट करते हैं (जो परोक्ष रूप से दिनांक प्रारूप सेट करता है), लेकिन फिर हम स्पष्ट रूप से दिनांक प्रारूप को dmy . पर सेट करते हैं . यह उस दिनांक प्रारूप को ओवरराइड करता है जो हमारे द्वारा भाषा सेट करते समय निहित रूप से सेट किया गया था।
SET LANGUAGE us_English; SET DATEFORMAT dmy; SELECT DAY('07/01/2017') AS Result;
परिणाम:
+----------+ | Result | |----------| | 7 | +----------+
दिन का नाम लौटाएं
यदि आपको दिन का नाम (दिन की संख्या के विपरीत) वापस करने की आवश्यकता है, तो SQL सर्वर में दिनांक से दिन का नाम प्राप्त करने के 3 तरीके देखें।