MySQL में, आप WEEK()
. का उपयोग कर सकते हैं किसी दिए गए दिनांक के लिए सप्ताह संख्या प्राप्त करने के लिए कार्य करें। "सप्ताह संख्या" से मेरा तात्पर्य वर्ष के सप्ताह से है।
फ़ंक्शन का उपयोग करने के लिए, बस तिथि को तर्क के रूप में प्रदान करें और सप्ताह संख्या वापस कर दी जाएगी।
आपके पास यह निर्दिष्ट करने का विकल्प भी है कि क्या सप्ताह रविवार या सोमवार को शुरू करना है, और क्या सप्ताह 0 से 53 या 1 से 53 के बीच होना चाहिए।
सिंटैक्स
वाक्य रचना इस प्रकार है:
WEEK(date[,mode])
कहां:
date
वह तारीख है जिससे आप चाहते हैं कि सप्ताह संख्या वापस आ जाए।mode
एक संख्या है जो निर्दिष्ट करती है कि सप्ताह रविवार या सोमवार को शुरू होना चाहिए और क्या सप्ताह 0 से 53 या 1 से 53 की सीमा में होना चाहिए। संभावित मोड मानों के लिए नीचे दी गई तालिका देखें।
उदाहरण 1 - मूल उपयोग
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT WEEK('2021-01-25') As 'Week Number';
परिणाम:
+-------------+ | Week Number | +-------------+ | 4 | +-------------+
यहां एक उदाहरण दिया गया है, जिसकी तारीख साल के अंत के करीब है।
SELECT WEEK('2021-12-25') As 'Week Number';
परिणाम:
+-------------+ | Week Number | +-------------+ | 51 | +-------------+
उदाहरण 2 - एक मोड निर्दिष्ट करें
यदि आप दूसरा तर्क निर्दिष्ट नहीं करते हैं, तो WEEK()
फ़ंक्शन default_week_format
. द्वारा निर्दिष्ट मोड का उपयोग करता है सिस्टम चर। इस चर का डिफ़ॉल्ट मान 0
है ।
हालांकि, आपके पास यह निर्दिष्ट करने के लिए दूसरा तर्क देने का विकल्प भी है कि किस मोड का उपयोग करना है। उदाहरण:
SELECT WEEK('2019-10-17', 7) AS 'Mode 7';
परिणाम:
+--------+ | Mode 7 | +--------+ | 41 | +--------+
संभावित मोड मान इस प्रकार हैं।
मोड | <थ>सप्ताह का पहला दिनरेंज | सप्ताह 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 | इस वर्ष में सोमवार के साथ |
मोड मानों के लिए जहां सप्ताह 1 पहला सप्ताह है "इस वर्ष 4 या अधिक दिनों के साथ", सप्ताहों को ISO 8601:1988 के अनुसार गिना जाता है:
- यदि 1 जनवरी वाले सप्ताह में नए साल में 4 या अधिक दिन हैं, तो यह सप्ताह 1 है।
- अन्यथा, यह पिछले वर्ष का अंतिम सप्ताह है, और अगला सप्ताह सप्ताह 1 है।
उदाहरण 3 - मोड की तुलना
उपयोग किए जा रहे मोड के आधार पर आप अलग-अलग परिणाम कैसे प्राप्त कर सकते हैं, इसकी एक त्वरित तुलना यहां दी गई है।
निम्नलिखित तीन उदाहरण समान कोड का उपयोग करते हैं, लेकिन तीन अलग-अलग तिथियों के साथ। ये तिथियां लगातार हैं - वे 5, 6 और 7 जनवरी को होती हैं। जैसा कि आप देख सकते हैं, सटीक तिथि और उपयोग किए जा रहे मोड के आधार पर परिणाम काफी भिन्न हो सकते हैं।
दिनांक 1
SET @date = '2019-01-05'; SELECT WEEK(@date, 0) AS 'Mode 0', WEEK(@date, 1) AS 'Mode 1', WEEK(@date, 2) AS 'Mode 2', WEEK(@date, 3) AS 'Mode 3', WEEK(@date, 4) AS 'Mode 4', WEEK(@date, 5) AS 'Mode 5', WEEK(@date, 6) AS 'Mode 6', WEEK(@date, 7) AS 'Mode 7';
परिणाम:
+--------+--------+--------+--------+--------+--------+--------+--------+ | Mode 0 | Mode 1 | Mode 2 | Mode 3 | Mode 4 | Mode 5 | Mode 6 | Mode 7 | +--------+--------+--------+--------+--------+--------+--------+--------+ | 0 | 1 | 52 | 1 | 1 | 0 | 1 | 53 | +--------+--------+--------+--------+--------+--------+--------+--------+
दिनांक 2
SET @date = '2019-01-06'; SELECT WEEK(@date, 0) AS 'Mode 0', WEEK(@date, 1) AS 'Mode 1', WEEK(@date, 2) AS 'Mode 2', WEEK(@date, 3) AS 'Mode 3', WEEK(@date, 4) AS 'Mode 4', WEEK(@date, 5) AS 'Mode 5', WEEK(@date, 6) AS 'Mode 6', WEEK(@date, 7) AS 'Mode 7';
परिणाम:
+--------+--------+--------+--------+--------+--------+--------+--------+ | Mode 0 | Mode 1 | Mode 2 | Mode 3 | Mode 4 | Mode 5 | Mode 6 | Mode 7 | +--------+--------+--------+--------+--------+--------+--------+--------+ | 1 | 1 | 1 | 1 | 2 | 0 | 2 | 53 | +--------+--------+--------+--------+--------+--------+--------+--------+
दिनांक 3
SET @date = '2019-01-07'; SELECT WEEK(@date, 0) AS 'Mode 0', WEEK(@date, 1) AS 'Mode 1', WEEK(@date, 2) AS 'Mode 2', WEEK(@date, 3) AS 'Mode 3', WEEK(@date, 4) AS 'Mode 4', WEEK(@date, 5) AS 'Mode 5', WEEK(@date, 6) AS 'Mode 6', WEEK(@date, 7) AS 'Mode 7';
परिणाम:
+--------+--------+--------+--------+--------+--------+--------+--------+ | Mode 0 | Mode 1 | Mode 2 | Mode 3 | Mode 4 | Mode 5 | Mode 6 | Mode 7 | +--------+--------+--------+--------+--------+--------+--------+--------+ | 1 | 2 | 1 | 2 | 2 | 1 | 2 | 1 | +--------+--------+--------+--------+--------+--------+--------+--------+