MySQL में, YEARWEEK()
फ़ंक्शन किसी दिए गए दिनांक के लिए वर्ष और सप्ताह लौटाता है। आप तर्क के रूप में तिथि प्रदान करते हैं, और फ़ंक्शन तदनुसार परिणाम लौटाएगा।
आपके पास यह निर्दिष्ट करने का विकल्प भी है कि क्या सप्ताह रविवार या सोमवार को शुरू करना है, और क्या सप्ताह 0 से 53 या 1 से 53 के बीच होना चाहिए।
सिंटैक्स
आप निम्न दो रूपों में से किसी एक का उपयोग कर सकते हैं:
YEARWEEK(date) YEARWEEK(date,mode)
कहां:
date
वह तारीख है जिससे आप चाहते हैं कि वर्ष और सप्ताह की संख्या वापस आ जाए।mode
एक संख्या है जो निर्दिष्ट करती है कि सप्ताह रविवार या सोमवार को शुरू होना चाहिए और क्या सप्ताह 0 से 53 या 1 से 53 की सीमा में होना चाहिए। संभावित मोड मानों के लिए नीचे दी गई तालिका देखें।
यदि कोई मोड निर्दिष्ट नहीं है, तो मोड 0
है ।
उदाहरण 1 - मूल उपयोग
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT YEARWEEK('2021-01-25') As 'Result';
परिणाम:
+--------+ | Result | +--------+ | 202104 | +--------+
यहां एक अलग तारीख के साथ एक उदाहरण दिया गया है।
SELECT YEARWEEK('1999-12-25') As 'Result';
परिणाम:
+--------+ | Result | +--------+ | 199951 | +--------+
उदाहरण 2 - एक मोड निर्दिष्ट करें
यदि आप दूसरा तर्क निर्दिष्ट नहीं करते हैं, तो YEARWEEK()
फ़ंक्शन 0
. का उपयोग करता है मोड के रूप में।
हालांकि, आपके पास यह निर्दिष्ट करने के लिए दूसरा तर्क देने का विकल्प भी है कि किस मोड का उपयोग करना है। उदाहरण:
SELECT YEARWEEK('2019-11-23', 7) AS 'Mode 7';
परिणाम:
+--------+ | Mode 7 | +--------+ | 201946 | +--------+
संभावित मोड मान इस प्रकार हैं।
मोड | <थ>सप्ताह का पहला दिनरेंज | सप्ताह 1 पहला सप्ताह है … | |
---|---|---|---|
0 | रविवार | 0-53 | इस वर्ष रविवार के साथ |
1 | सोमवार | 0-53 | इस वर्ष 4 या अधिक दिनों के साथ |
2 | रविवार | 1-53 | इस वर्ष रविवार के साथ |
3 | सोमवार | 1-53 | इस वर्ष 4 या अधिक दिनों के साथ |
4 | रविवार | 0-53 | इस वर्ष 4 या अधिक दिनों के साथ |
5 | सोमवार | 0-53 | इस वर्ष में सोमवार के साथ |
6 | रविवार | 1-53 | इस वर्ष 4 या अधिक दिनों के साथ |
7 | सोमवार | 1-53 | इस वर्ष में सोमवार के साथ |
ये वही मान हैं जिनका उपयोग WEEK()
. के साथ किया जा सकता है समारोह।
इन दो कार्यों के बीच एक अंतर यह है कि WEEK()
फ़ंक्शन अपना डिफ़ॉल्ट मोड default_week_format
. से प्राप्त करता है सिस्टम चर (इस चर का डिफ़ॉल्ट मान 0
. है ) YEARWEEK()
दूसरी ओर, इस सेटिंग को अनदेखा करता है, और 0
. का उपयोग करता है इसके डिफ़ॉल्ट मान के रूप में (default_week_format
. की परवाह किए बिना सेटिंग)।
उदाहरण 3 - मोड की तुलना
उपयोग किए जा रहे मोड के आधार पर आप अलग-अलग परिणाम कैसे प्राप्त कर सकते हैं, इसकी एक त्वरित तुलना यहां दी गई है।
निम्नलिखित तीन उदाहरण समान कोड का उपयोग करते हैं, लेकिन तीन अलग-अलग तिथियों के साथ। ये तिथियां लगातार हैं - वे 5, 6 और 7 जनवरी को होती हैं। जैसा कि आप देख सकते हैं, सटीक तिथि और उपयोग किए जा रहे मोड के आधार पर परिणाम काफी भिन्न हो सकते हैं।
दिनांक 1
SET @date = '2019-01-05'; SELECT YEARWEEK(@date, 0) AS 'Mode 0', YEARWEEK(@date, 1) AS 'Mode 1', YEARWEEK(@date, 2) AS 'Mode 2', YEARWEEK(@date, 3) AS 'Mode 3', YEARWEEK(@date, 4) AS 'Mode 4', YEARWEEK(@date, 5) AS 'Mode 5', YEARWEEK(@date, 6) AS 'Mode 6', YEARWEEK(@date, 7) AS 'Mode 7';
परिणाम:
+--------+--------+--------+--------+--------+--------+--------+--------+ | Mode 0 | Mode 1 | Mode 2 | Mode 3 | Mode 4 | Mode 5 | Mode 6 | Mode 7 | +--------+--------+--------+--------+--------+--------+--------+--------+ | 201852 | 201901 | 201852 | 201901 | 201901 | 201853 | 201901 | 201853 | +--------+--------+--------+--------+--------+--------+--------+--------+
दिनांक 2
SET @date = '2019-01-06'; SELECT YEARWEEK(@date, 0) AS 'Mode 0', YEARWEEK(@date, 1) AS 'Mode 1', YEARWEEK(@date, 2) AS 'Mode 2', YEARWEEK(@date, 3) AS 'Mode 3', YEARWEEK(@date, 4) AS 'Mode 4', YEARWEEK(@date, 5) AS 'Mode 5', YEARWEEK(@date, 6) AS 'Mode 6', YEARWEEK(@date, 7) AS 'Mode 7';
परिणाम:
+--------+--------+--------+--------+--------+--------+--------+--------+ | Mode 0 | Mode 1 | Mode 2 | Mode 3 | Mode 4 | Mode 5 | Mode 6 | Mode 7 | +--------+--------+--------+--------+--------+--------+--------+--------+ | 201901 | 201901 | 201901 | 201901 | 201902 | 201853 | 201902 | 201853 | +--------+--------+--------+--------+--------+--------+--------+--------+
दिनांक 3
SET @date = '2019-01-07'; SELECT YEARWEEK(@date, 0) AS 'Mode 0', YEARWEEK(@date, 1) AS 'Mode 1', YEARWEEK(@date, 2) AS 'Mode 2', YEARWEEK(@date, 3) AS 'Mode 3', YEARWEEK(@date, 4) AS 'Mode 4', YEARWEEK(@date, 5) AS 'Mode 5', YEARWEEK(@date, 6) AS 'Mode 6', YEARWEEK(@date, 7) AS 'Mode 7';
परिणाम:
+--------+--------+--------+--------+--------+--------+--------+--------+ | Mode 0 | Mode 1 | Mode 2 | Mode 3 | Mode 4 | Mode 5 | Mode 6 | Mode 7 | +--------+--------+--------+--------+--------+--------+--------+--------+ | 201901 | 201902 | 201901 | 201902 | 201902 | 201901 | 201902 | 201901 | +--------+--------+--------+--------+--------+--------+--------+--------+