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

सप्ताह () उदाहरण – MySQL

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 |
+--------+--------+--------+--------+--------+--------+--------+--------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्तंभ संख्या पंक्ति 1 पर मान गणना से मेल नहीं खाती

  2. MySQL केस कैसे काम करता है?

  3. MySQL:LIKE का उल्टा संस्करण क्या है?

  4. Node.js में SQL इंजेक्शन को रोकना

  5. MySQL 5.7 से MySQL 8 में अपग्रेड करने के लिए टिप्स