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

MySQL में EXTRACT(HOUR FROM ...) का उपयोग करके घंटे की शर्त के आधार पर दिनांक फ़िल्टर करना

MySQL में EXTRACT(HOUR FROM datetime) फ़ंक्शन का उपयोग करके दिनांक-समय कॉलम से घंटा निकालें और शर्त लागू करें।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    -> AdmissionDate DATETIME
    -> );
Query OK, 0 rows affected (0.75 sec)
mysql> INSERT INTO DemoTable VALUES
    -> ('2019-01-10 10:45:10'),
    -> ('2019-02-12 20:50:00'),
    -> ('2019-02-12 16:10:19');

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

mysql> SELECT * FROM DemoTable;

आउटपुट

+---------------------+
| AdmissionDate       |
+---------------------+
| 2019-01-10 10:45:10 |
| 2019-02-12 20:50:00 |
| 2019-02-12 16:10:19 |
+---------------------+
3 rows in set (0.00 sec)

घंटा 8 से 10 के बीच नहीं होने वाले रिकॉर्ड चुनना

mysql> SELECT * FROM DemoTable
    -> WHERE EXTRACT(HOUR FROM AdmissionDate) NOT BETWEEN 8 AND 10;

आउटपुट

+---------------------+
| AdmissionDate       |
+---------------------+
| 2019-02-12 20:50:00 |  -- घंटा 20
| 2019-02-12 16:10:19 |  -- घंटा 16
+---------------------+
2 rows in set (0.00 sec)

पहली पंक्ति (10:45) बाहर हुई क्योंकि घंटा 10 BETWEEN 8 AND 10 में शामिल है।

EXTRACT यूनिट विकल्प:

  • EXTRACT(YEAR FROM dt)
  • EXTRACT(MONTH FROM dt)
  • EXTRACT(DAY FROM dt)
  • EXTRACT(HOUR FROM dt)
  • EXTRACT(MINUTE FROM dt)
  • EXTRACT(SECOND FROM dt)
  • EXTRACT(DAY_MONTH FROM dt) - दिन और महीना
  • EXTRACT(YEAR_MONTH FROM dt) - वर्ष और महीना

वैकल्पिक: HOUR(AdmissionDate) - MySQL-विशिष्ट शॉर्टकट फ़ंक्शन।

प्रदर्शन: EXTRACT() या HOUR() इंडेक्स उपयोग को रोकता है। रेंज क्वेरी के लिए:

WHERE AdmissionDate < '2019-01-10 08:00:00' OR AdmissionDate >= '2019-01-10 11:00:00'
  1. - MySQL में INSERT INTO SELECT UNION ALL से एक क्वेरी में दो टेबल में चयन और सम्मिलन

    MySQL में INSERT INTO ... SELECT ... UNION ALL ... SELECT का उपयोग करके एक ही क्वेरी में एक टेबल से डेटा चुनकर दूसरी टेबल में एकाधिक पंक्तियां डाल सकते हैं। उदाहरण 1. लक्ष्य टेबल बनाएं ); 2. स्रोत टेबल बनाएं INSERT INTO DemoTable2 VALUES(Chris); 3. एक क्वेरी में चयन और सम्मिलन SELECT Name, 98

  1. - MySQL में DATE_ADD और INTERVAL से दिनांक/समय में सेकंड जोड़ें

    DATE_ADD() के साथ INTERVAL n SECOND का उपयोग करके DATETIME/TIMESTAMP कॉलम में सेकंड जोड़ें। टेबल बनाएं mysql> CREATE TABLE DemoTable1867 (ArrivalTime DATETIME); डेटा डालें mysql> INSERT INTO DemoTable1867 VALUES(2019-10-12 12:34:45); mysql> INSERT INTO DemoTable1867 VALUES(2019-10-12 10:0

  1. - MySQL में एक क्वेरी से दो कॉलम कैसे अपडेट करें?

    MySQL में एक ही UPDATE स्टेटमेंट में एकाधिक कॉलम अपडेट करने के लिए, SET क्लॉज़ में कॉलम को कॉमा से अलग करके सूचीबद्ध करें। यह एटॉमिक ऑपरेशन सुनिश्चित करता है और क्वेरी ओवरहेड कम करता है। उदाहरण: FirstName और LastName एक साथ अपडेट करना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1909 ( Id