CAST() फ़ंक्शन का उपयोग
MySQL में DATETIME मान को केवल DATE (बिना समय भाग के) में बदलने के लिए CAST() फ़ंक्शन का उपयोग करें।
सिंटैक्स
SELECT CAST(yourColumnName AS DATE) AS anyVariableName
FROM yourTableName;
व्यावहारिक उदाहरण
1. टेबल बनाएं और डेटा डालें
mysql> CREATE TABLE ConvertDatetimeToDate (
-> YourDatetime DATETIME
-> );
Query OK, 0 rows affected (0.95 sec)
mysql> INSERT INTO ConvertDatetimeToDate VALUES(DATE_ADD(NOW(), INTERVAL 1 DAY));
mysql> INSERT INTO ConvertDatetimeToDate VALUES(DATE_ADD(NOW(), INTERVAL -1 DAY));
mysql> INSERT INTO ConvertDatetimeToDate VALUES(DATE_ADD(NOW(), INTERVAL 1 YEAR));
mysql> INSERT INTO ConvertDatetimeToDate VALUES(DATE_ADD(NOW(), INTERVAL -1 YEAR));
2. डेटा देखें
mysql> SELECT * FROM ConvertDatetimeToDate;
+---------------------+
| YourDatetime |
+---------------------+
| 2018-11-28 16:12:50 |
| 2018-11-26 16:13:00 |
| 2019-11-27 16:13:13 |
| 2017-11-27 16:13:24 |
+---------------------+
4 rows in set (0.00 sec)
3. DATETIME को DATE में कास्ट करें
mysql> SELECT CAST(YourDatetime AS DATE) AS OnlyDateDemo
-> FROM ConvertDatetimeToDate;
+--------------+
| OnlyDateDemo |
+--------------+
| 2018-11-28 |
| 2018-11-26 |
| 2019-11-27 |
| 2017-11-27 |
+--------------+
4 rows in set (0.00 sec)
वैकल्पिक विधि: DATE() फ़ंक्शन
MySQL DATE() फ़ंक्शन भी यही काम करता है और अधिक संक्षिप्त है:
SELECT DATE(YourDatetime) AS OnlyDate FROM ConvertDatetimeToDate;
तुलना
| विधि | सिंटैक्स | नोट |
|---|---|---|
| CAST | CAST(col AS DATE) | ANSI SQL मानक, पोर्टेबल |
| DATE() | DATE(col) | MySQL-विशिष्ट, छोटा |
| CONVERT | CONVERT(col, DATE) | ODBC सिंटैक्स |
दोनों विधियाँ समान परिणाम देती हैं। DATE() MySQL में अधिक सामान्य है।