MySQL में CAST AS DATE और DATE() फ़ंक्शन में कोई अंतर नहीं है। दोनों आंतरिक रूप से Item_date_typecast को कॉल करते हैं।
दोनों का सिंटैक्स
CAST(yourDateTimeColumnName AS DATE) DATE(yourDateTimeColumnName)
उदाहरण के साथ समझें
सबसे पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE CastAsDateDemo (
-> Id INT NOT NULL AUTO_INCREMENT,
-> ArrivalTime DATETIME,
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (0.71 sec)
रिकॉर्ड डालें
mysql> INSERT INTO CastAsDateDemo(ArrivalTime) VALUES('2014-1-13 13:45:46');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO CastAsDateDemo(ArrivalTime) VALUES('2016-4-11 10:30:31');
Query OK, 1 row affected (0.48 sec)
mysql> INSERT INTO CastAsDateDemo(ArrivalTime) VALUES('2019-1-9 19:17:49');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO CastAsDateDemo(ArrivalTime) VALUES(DATE_ADD(NOW(), INTERVAL 2 DAY));
Query OK, 1 row affected (0.15 sec)
सभी रिकॉर्ड देखें
mysql> SELECT * FROM CastAsDateDemo;
आउटपुट
+----+---------------------+ | Id | ArrivalTime | +----+---------------------+ | 1 | 2014-01-13 13:45:46 | | 2 | 2016-04-11 10:30:31 | | 3 | 2019-01-09 19:17:49 | | 4 | 2019-01-11 19:17:59 | +----+---------------------+ 4 rows in set (0.00 sec)
CAST() का उपयोग करके डेट निकालें
mysql> SELECT CAST(ArrivalTime AS DATE) AS only_Date FROM CastAsDateDemo;
आउटपुट
+------------+ | only_Date | +------------+ | 2014-01-13 | | 2016-04-11 | | 2019-01-09 | | 2019-01-11 | +------------+ 4 rows in set (0.00 sec)
DATE() फ़ंक्शन का उपयोग करके डेट निकालें
mysql> SELECT DATE(ArrivalTime) AS only_Date FROM CastAsDateDemo;
आउटपुट
+------------+ | only_Date | +------------+ | 2014-01-13 | | 2016-04-11 | | 2019-01-09 | | 2019-01-11 | +------------+ 4 rows in set (0.00 sec)
दोनों फ़ंक्शन समान परिणाम देते हैं। DATE() फ़ंक्शन अधिक संक्षिप्त और पढ़ने में आसान है।