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

MySQL में टाइमस्टैप की तुलना कैसे करें?


DATE() फंक्शन से टाइमस्टैप तुलना

MySQL में TIMESTAMP कॉलम की तुलना केवल तारीख भाग के आधार पर करने के लिए DATE() फंक्शन का उपयोग करें।

उदाहरण

टेबल बनाएं:

mysql> CREATE TABLE comparingTimestampDemo (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> AdmissionDate TIMESTAMP
    -> );

डेटा इन्सर्ट करें:

mysql> INSERT INTO comparingTimestampDemo(AdmissionDate) VALUES('2019-03-31');
mysql> INSERT INTO comparingTimestampDemo(AdmissionDate) VALUES('2019-04-10');
mysql> INSERT INTO comparingTimestampDemo(AdmissionDate) VALUES('2019-04-15');
mysql> INSERT INTO comparingTimestampDemo(AdmissionDate) VALUES('2019-03-29');
mysql> INSERT INTO comparingTimestampDemo(AdmissionDate) VALUES('2019-04-07');

सभी रिकॉर्ड (समय 00:00:00 दिखाता है):

+----+---------------------+
| Id | AdmissionDate       |
+----+---------------------+
| 1  | 2019-03-31 00:00:00 |
| 2  | 2019-04-10 00:00:00 |
| 3  | 2019-04-15 00:00:00 |
| 4  | 2019-03-29 00:00:00 |
| 5  | 2019-04-07 00:00:00 |
+----+---------------------+

3 दिन पुराने रिकॉर्ड खोजने की क्वेरी

mysql> SELECT DATE(`AdmissionDate`) FROM comparingTimestampDemo
    -> WHERE DATE(`AdmissionDate`) < CURDATE() - INTERVAL 3 DAY;

परिणाम (मान लें आज 2019-04-11 है):

+-----------------------+
| DATE(`AdmissionDate`) |
+-----------------------+
| 2019-03-31            |
| 2019-03-29            |
+-----------------------+

कैसे काम करता है:

  • DATE(AdmissionDate) - टाइमस्टैप से केवल तारीख भाग निकालता है
  • CURDATE() - वर्तमान तारीख देता है
  • INTERVAL 3 DAY - 3 दिन घटाता है
  • तुलना केवल तारीखों के बीच होती है, समय नजरअंदाज होता है

अन्य उपयोगी तुलना पैटर्न

-- आज के रिकॉर्ड
WHERE DATE(AdmissionDate) = CURDATE()

-- इस हफ्ते के रिकॉर्ड
WHERE DATE(AdmissionDate) >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)

-- विशिष्ट महीने के रिकॉर्ड
WHERE DATE(AdmissionDate) BETWEEN '2019-04-01' AND '2019-04-30'

-- समय भाग की तुलना के लिए
WHERE TIME(AdmissionDate) > '12:00:00'

प्रदर्शन टिप: DATE() फंक्शन इंडेक्स उपयोग को रोक सकता है। बेहतर: WHERE AdmissionDate < '2019-04-08' AND AdmissionDate >= '2019-04-08' - INTERVAL 3 DAY

  1. - MySQL में डेटटाइम को री-फॉर्मेट कैसे करें?

    परिचय MySQL में DATE_FORMAT() फंक्शन का उपयोग करके डेटटाइम मानों को विभिन्न फॉर्मेट में प्रदर्शित किया जा सकता है। MySQL डिफ़ॉल्ट रूप से YYYY-MM-DD HH:MM:SS फॉर्मेट में डेटटाइम स्टोर और प्रदर्शित करता है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (1.10 sec) INSERT INTO DemoTa

  1. - MySQL में महीने के अनुसार रिकॉर्ड कैसे चुनें (SELECT by Month)?

    MySQL में MONTH() फ़ंक्शन का उपयोग करके दिनांक कॉलम से महीना निकालकर रिकॉर्ड फ़िल्टर किए जा सकते हैं। यह मासिक रिपोर्ट और विश्लेषण के लिए आवश्यक है। सिंटैक्स SELECT * FROM table_name WHERE MONTH(date_column) = month_number; उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREATE TABLE DemoTable (Ship

  1. - MySQL में SUBSTRING_INDEX() का उपयोग करके कॉलम कैसे विभाजित करें?

    MySQL में SUBSTRING_INDEX() और LOCATE() फ़ंक्शन का उपयोग करके डिलिमिटर (जैसे अंडरस्कोर) के आधार पर कॉलम को भागों में विभाजित किया जा सकता है। सिंटैक्स 0: बाएं से count भाग -- count < 0: दाएं से |count| भाग उदाहरण: पहला भाग प्राप्त करें (पहले _ से पहले) mysql> CREATE TABLE DemoTable (Name VARCH