Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में DATE कॉलम से महीने का Nth सप्ताह का दिन प्राप्त करें

महीने के सप्ताह का क्रम (1-5) निर्धारित करने के लिए DAY() फ़ंक्शन और CASE स्टेटमेंट का उपयोग करें।

टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    AdmissionDate DATE
);
Query OK, 0 rows affected (0.63 sec)
mysql> INSERT INTO DemoTable VALUES('2019-09-12');
mysql> INSERT INTO DemoTable VALUES('2019-09-06');
mysql> INSERT INTO DemoTable VALUES('2019-09-26');
mysql> INSERT INTO DemoTable VALUES('2019-09-30');

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+---------------+
| AdmissionDate |
+---------------+
| 2019-09-12    |
| 2019-09-06    |
| 2019-09-26    |
| 2019-09-30    |
+---------------+
4 rows in set (0.00 sec)

सप्ताह क्रम के लिए CASE क्वेरी

mysql> SELECT
    CASE
        WHEN DAY(AdmissionDate) BETWEEN 1 AND 7 THEN 1
        WHEN DAY(AdmissionDate) BETWEEN 8 AND 14 THEN 2
        WHEN DAY(AdmissionDate) BETWEEN 15 AND 21 THEN 3
        WHEN DAY(AdmissionDate) BETWEEN 22 AND 28 THEN 4
        ELSE 5
    END AS NthWeekDayOfMonth
FROM DemoTable;

परिणाम:

+-------------------+
| NthWeekDayOfMonth |
+-------------------+
| 2                 |
| 1                 |
| 4                 |
| 5                 |
+-------------------+
4 rows in set (0.01 sec)

नोट: यह विधि महीने को 7-दिन के ब्लॉक में विभाजित करती है। 29-31 तारीखें सप्ताह 5 में आती हैं। WEEK() फ़ंक्शन अलग तर्क (साल का सप्ताह) देता है।

  1. - MySQL क्वेरी दिनांक रिकॉर्ड को सप्ताह के दिन के साथ घटाएं और रिकॉर्ड के साथ सप्ताह का दिन प्रदर्शित करें

    इसके लिए आप DATE_FORMAT() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1820 ( AdmissionDate varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1820 values(20/10/2019); Qu

  1. - MySQL में MIN() और GROUP BY से डुप्लिकेट कॉलम वाले समूह की पहली टाइमस्टैम्प तिथि प्राप्त करें

    किसी कॉलम (जैसे Value) के डुप्लिकेट मान वाले समूहों में से सबसे पहली (न्यूनतम) टाइमस्टैम्प प्राप्त करने के लिए MIN() एग्रीगेट फ़ंक्शन के साथ GROUP BY का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1870 ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Value INT, ShippingTimestamp

  1. - MySQL में DATE_ADD से तारीख में वर्ष जोड़ें

    UPDATE और DATE_ADD() से मौजूदा तारीखों में अंतराल जोड़ें मौजूदा तारीख कॉलम में वर्ष (या अन्य अंतराल) जोड़ने के लिए UPDATE के साथ DATE_ADD() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec) mysql> insert into