परिचय
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 है, मेल नहीं)
संबंधित फंक्शन्स
| फंक्शन | विवरण |
|---|---|
HOUR(dt) | घंटा (0-23) |
MINUTE(dt) | मिनट (0-59) |
SECOND(dt) | सेकंड (0-59) |
DATE(dt) | तिथि भाग |
TIME(dt) | समय भाग |