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

MySQL में CURDATE() से जांचें कि तारीख बीत चुकी है या नहीं

MySQL में किसी तारीख कॉलम की तुलना वर्तमान तारीख (CURDATE()) से करके जांच सकते हैं कि वह तारीख बीत चुकी है (भूतकाल में है) या भविष्य में है। यह डेडलाइन, समाप्ति तारीख, सदस्यता नवीनीकरण, और इवेंट शेड्यूलिंग के लिए आवश्यक है।

सिंटैक्स

-- बीत चुकी तारीखें (भूतकाल)
SELECT * FROM table_name WHERE date_column < CURDATE();

-- आज या भविष्य की तारीखें
SELECT * FROM table_name WHERE date_column >= CURDATE();

-- आज की तारीख
SELECT * FROM table_name WHERE date_column = CURDATE();

व्यावहारिक उदाहरण

डेडलाइन टेबल बनाएं:

mysql> CREATE TABLE DemoTable1340 (Deadline DATE);

विभिन्न तारीखें डालें (कुछ भूतकाल, कुछ भविष्य):

mysql> INSERT INTO DemoTable1340 VALUES('2019-09-18');
mysql> INSERT INTO DemoTable1340 VALUES('2019-09-23');
mysql> INSERT INTO DemoTable1340 VALUES('2018-12-24');
mysql> INSERT INTO DemoTable1340 VALUES('2016-11-01');
mysql> INSERT INTO DemoTable1340 VALUES('2019-09-28');

डेटा देखें:

mysql> SELECT * FROM DemoTable1340;
+------------+
| Deadline   |
+------------+
| 2019-09-18 |
| 2019-09-23 |
| 2018-12-24 |
| 2016-11-01 |
| 2019-09-28 |
+------------+

वर्तमान तारीख जांचें

mysql> SELECT CURDATE();
+------------+
| CURDATE()  |
+------------+
| 2019-09-21 |
+------------+

भविष्य की डेडलाइन (आज या बाद) खोजें

mysql> SELECT * FROM DemoTable1340 WHERE Deadline >= CURDATE();

परिणाम

+------------+
| Deadline   |
+------------+
| 2019-09-23 |
| 2019-09-28 |
+------------+

तारीख तुलना तर्क

DATETIME/TIMESTAMP के साथ उपयोग

-- केवल तारीख भाग की तुलना
WHERE DATE(datetime_col) >= CURDATE()

-- या पूर्ण तुलना (समय सहित)
WHERE datetime_col >= NOW()

अंतर दिनों की गणना

SELECT 
    Deadline,
    DATEDIFF(Deadline, CURDATE()) AS DaysRemaining
FROM DemoTable1340;
+------------+---------------+
| Deadline   | DaysRemaining |
+------------+---------------+
| 2019-09-18 | -3            |  -- 3 दिन बीत गए
| 2019-09-23 | 2             |  -- 2 दिन शेष
| 2018-12-24 | -271          |
| 2016-11-01 | -1055         |
| 2019-09-28 | 7             |
+------------+---------------+

उपयोग के मामले

  • कार्य/परियोजना डेडलाइन ट्रैकिंग
  • सदस्यता/लाइसेंस समाप्ति अलर्ट
  • इवेंट कैलेंडर: आगामी इवेंट दिखाएं
  • बिल भुगतान रिमाइंडर
  • सत्र/टोकन समाप्ति जांच

सर्वोत्तम अभ्यास

  • CURDATE() केवल तारीख लौटाता है (समय नहीं) - DATE कॉलम के लिए आदर्श
  • NOW() या CURRENT_TIMESTAMP समय सहित - DATETIME/TIMESTAMP के लिए
  • इंडेक्स उपयोग के लिए: WHERE date_col >= CURDATE() इंडेक्स का उपयोग कर सकता है
  • समय क्षेत्र: CURDATE() सर्वर समय क्षेत्र में है; UTC के लिए UTC_DATE() उपयोग करें

CURDATE() के साथ तारीख तुलना MySQL में समय-आधारित फ़िल्टरिंग का मूलभूत पैटर्न है।

  1. MySQL में कैसे चेक करें कि कौन सा डेटाबेस चुना गया है? MySQL में कैसे चेक करें कि कौन सा डेटाबेस चुना गया है?

    हम इसे DATABASE() मेथड की मदद से DUAL से चेक कर सकते हैं। मान लीजिए, हम डेटाबेस business का उपयोग कर रहे हैं। क्वेरी निम्न है − mysql> USE business; Database changed अब हम DATABASE() को DUAL से चेक कर सकते हैं कि कौन सा डेटाबेस चुना गया है। क्वेरी निम्न है − mysql> SELECT DATA

  1. - MySQL में STR_TO_DATE() से तारीख फॉर्मेट बदलें

    VARCHAR तारीख-स्ट्रिंग को MySQL DATETIME में कनवर्ट करें 12/10/2019 12:34:00 जैसे स्ट्रिंग को मान्य DATETIME में बदलने के लिए STR_TO_DATE() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable2010 ( DueDate varchar(20) ); Query OK, 0 rows affected (0.68 sec) mysql> insert int

  1. - MySQL संस्करण कैसे जांचें

    आइए समझते हैं कि उपयोगकर्ता वर्तमान में जो MySQL संस्करण चला रहा है, उसकी जांच कैसे करें: कंसोल पर क्वेरी दर्ज करने से पहले, यह सुनिश्चित करना महत्वपूर्ण है कि उपयोगकर्ता सर्वर से जुड़ा हुआ है। MySQL संस्करण जांचें नीचे दी गई क्वेरी सर्वर के संस्करण संख्या और वर्तमान तारीख देगी। mysql> SELECT

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
शर्तअर्थउदाहरण (आज: 2019-09-21)
date < CURDATE()सख्ती से भूतकाल2019-09-18, 2018-12-24
date <= CURDATE()भूतकाल या आजउपरोक्त + 2019-09-21
date = CURDATE()आज2019-09-21
date >= CURDATE()आज या भविष्य2019-09-21, 2019-09-23, 2019-09-28
date > CURDATE()सख्ती से भविष्य2019-09-23, 2019-09-28