आप MySQL में DATE() फंक्शन की मदद से DATETIME फील्ड से स्ट्रिंग के साथ DATE स्ट्रिंग की तुलना कर सकते हैं। सिंटैक्स इस प्रकार है:
SELECT * FROM yourTableName WHERE DATE(yourColumnName) = 'anyDateString';
उपरोक्त सिंटैक्स को समझने के लिए, एक टेबल बनाते हैं और टेबल में कुछ डेटाटाइम मान सेट करते हैं। टेबल बनाने का क्वेरी:
mysql> CREATE TABLE DateTimeDemo (
-> ArrivalTime DATETIME
-> ); Query OK, 0 rows affected (0.61 sec)
आइए INSERT कमांड की मदद से टेबल में कुछ रिकॉर्ड डालें। रिकॉर्ड डालने का क्वेरी:
mysql> INSERT INTO DateTimeDemo VALUES(NOW()); Query OK, 1 row affected (0.11 sec) mysql> INSERT INTO DateTimeDemo VALUES(DATE_ADD(NOW(), INTERVAL 2 YEAR)); Query OK, 1 row affected (0.47 sec) mysql> INSERT INTO DateTimeDemo VALUES(DATE_ADD(NOW(), INTERVAL 1 YEAR)); Query OK, 1 row affected (0.19 sec) mysql> INSERT INTO DateTimeDemo VALUES(DATE_ADD(NOW(), INTERVAL 4 YEAR)); Query OK, 1 row affected (0.13 sec) mysql> INSERT INTO DateTimeDemo VALUES(DATE_ADD(NOW(), INTERVAL -2 YEAR)); Query OK, 1 row affected (0.17 sec) mysql> INSERT INTO DateTimeDemo VALUES(DATE_ADD(NOW(), INTERVAL -1 YEAR)); Query OK, 1 row affected (0.17 sec)
SELECT स्टेटमेंट की मदद से सभी रिकॉर्ड प्रदर्शित करें। टेबल से सभी रिकॉर्ड प्रदर्शित करने का क्वेरी:
mysql> SELECT * FROM DateTimeDemo;
निम्न आउटपुट है:
+---------------------+ | ArrivalTime | +---------------------+ | 2018-12-06 10:12:45 | | 2020-12-06 10:13:10 | | 2019-12-06 10:13:21 | | 2022-12-06 10:13:27 | | 2016-12-06 10:13:42 | | 2017-12-06 10:13:50 | +---------------------+ 6 rows in set (0.00 sec)
अब डेटाटाइम फील्ड के साथ स्ट्रिंग की तुलना करने के लिए ऊपर चर्चा किए गए सिंटैक्स को लागू करें। क्वेरी इस प्रकार है:
mysql> SELECT * FROM DateTimeDemo WHERE DATE(ArrivalTime) = '2022-12-06';
निम्न आउटपुट है:
+---------------------+ | ArrivalTime | +---------------------+ | 2022-12-06 10:13:27 | +---------------------+ 1 row in set (0.14 sec)