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

MySQL में टाइमस्टैम्प कॉलम से वर्तमान घंटे के रिकॉर्ड चुनना

परिचय

MySQL में HOUR() फंक्शन और CURTIME() का उपयोग करके टाइमस्टैम्प कॉलम से उन रिकॉर्ड्स को फ़िल्टर किया जा सकता है जो वर्तमान घंटे में आते हैं।

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

mysql> CREATE TABLE DemoTable (
    -> ArrivalTime TIMESTAMP
    -> );
Query OK, 0 rows affected (0.65 sec)
mysql> INSERT INTO DemoTable VALUES('2019-10-26 17:55:55');
Query OK, 1 row affected (0.46 sec)
mysql> INSERT INTO DemoTable VALUES('2019-10-26 18:00:00');
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO DemoTable VALUES('2019-10-26 18:55:00');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable VALUES('2018-10-26 16:00:10');
Query OK, 1 row affected (0.20 sec)

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

mysql> SELECT * FROM DemoTable;

आउटपुट:

+---------------------+
| ArrivalTime         |
+---------------------+
| 2019-10-26 17:55:55 |
| 2019-10-26 18:00:00 |
| 2019-10-26 18:55:00 |
| 2018-10-26 16:00:10 |
+---------------------+
4 rows in set (0.00 sec)

वर्तमान समय

mysql> SELECT CURTIME();
+-----------+
| CURTIME() |
+-----------+
| 18:43:55  |
+-----------+
1 row in set (0.00 sec)

वर्तमान घंटे के रिकॉर्ड चुनने की क्वेरी

mysql> SELECT * FROM DemoTable
    -> WHERE HOUR(ArrivalTime) = HOUR(CURTIME());

परिणाम

+---------------------+
| ArrivalTime         |
+---------------------+
| 2019-10-26 18:00:00 |
| 2019-10-26 18:55:00 |
+---------------------+
2 rows in set (0.00 sec)

व्याख्या

  • HOUR(ArrivalTime) - टाइमस्टैम्प से घंटा भाग निकालता है (0-23)
  • HOUR(CURTIME()) - वर्तमान समय से घंटा निकालता है (18)
  • तुलना: कौन से रिकॉर्ड का घंटा = 18 है
  • तिथि भाग अनदेखा होता है (2018-10-26 16:00:10 का घंटा 16 है, मेल नहीं)

संबंधित फंक्शन्स

प्रदर्शन नोट

WHERE HOUR(ArrivalTime) = ... इंडेक्स उपयोग नहीं कर सकता (फंक्शन कॉल के कारण)। बड़े टेबल के लिए डेट रेंज बेहतर:

WHERE ArrivalTime >= CONCAT(CURDATE(), ' ', HOUR(CURTIME()), ':00:00')
  AND ArrivalTime < CONCAT(CURDATE(), ' ', HOUR(CURTIME()), ':59:59')

या पैरामीटराइज्ड: WHERE ArrivalTime >= ? AND ArrivalTime < ?

  1. - MySQL में NOW() से वर्तमान दिनांक से पहले की तिथि वाले रिकॉर्ड चुनें

    WHERE date_column < NOW() या CURDATE() का उपयोग करके वर्तमान दिनांक/समय से पहले की तिथि वाले रिकॉर्ड चुनें। टेबल बनाएं mysql> CREATE TABLE DemoTable1877 (DueDate DATETIME); डेटा डालें mysql> INSERT INTO DemoTable1877 VALUES(2019-12-10), (2019-12-05), (2019-12-07), (2019-12-09); वर्तमान दिना

  1. - MySQL में WHERE क्लॉज में तिथि घटाकर ROW कैसे चुनें?

    TIMESTAMPDIFF() फ़ंक्शन दो तिथियों के बीच अंतर (मिनट, घंटे, दिन आदि) निकालने के लिए: TIMESTAMPDIFF(UNIT, start_datetime, end_datetime) उदाहरण insert into demo42 values(2020-01-10 12:30:05), (2019-02-24 10:40:45), (2020-05-12 05:45:55), (2020-05-12 05:40:55), (2020-05-12 05:42:55); 5 मिनट के अंदर

  1. - MySQL में WHERE IN के साथ NULL मान कैसे संभालें?

    सिंटैक्स select yourColumnName1, yourColumnName2 from yourTableName where yourValue in(yourColumnName1, yourColumnName2) or yourColumnName1 is NULL; उदाहरण insert into demo60(first_name,last_name) values(John,Smith), (John,Doe), (null,Brown), (David,Miller), (David,Smith), (Chris,Brown); क्वेरी

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
फंक्शनविवरण
HOUR(dt)घंटा (0-23)
MINUTE(dt)मिनट (0-59)
SECOND(dt)सेकंड (0-59)
DATE(dt)तिथि भाग
TIME(dt)समय भाग