DATE() फ़ंक्शन का उपयोग
MySQL में TIMESTAMP या DATETIME कॉलम से केवल **दिनांक भाग** (बिना समय के) निकालने के लिए DATE() फ़ंक्शन का उपयोग करें।
सिंटैक्स
SELECT DATE(yourTimestampColumnName) AS anyVariableName
FROM yourTableName;
व्यावहारिक उदाहरण
1. टेबल बनाएं और डेटा डालें
mysql> CREATE TABLE DateFromTimestamp (
-> ShippingDateTime TIMESTAMP
-> );
Query OK, 0 rows affected (0.60 sec)
mysql> INSERT INTO DateFromTimestamp VALUES('2012-12-26 13:24:35');
mysql> INSERT INTO DateFromTimestamp VALUES('2013-11-26 14:36:40');
mysql> INSERT INTO DateFromTimestamp VALUES('2016-07-22 15:20:10');
mysql> INSERT INTO DateFromTimestamp VALUES('2017-11-04 04:25:30');
2. मूल डेटा (दिनांक+समय)
mysql> SELECT * FROM DateFromTimestamp;
+---------------------+
| ShippingDateTime |
+---------------------+
| 2012-12-26 13:24:35 |
| 2013-11-26 14:36:40 |
| 2016-07-22 15:20:10 |
| 2017-11-04 04:25:30 |
+---------------------+
4 rows in set (0.00 sec)
3. केवल दिनांक निकालें
mysql> SELECT DATE(ShippingDateTime) AS OnlyDatePartFromTimestamp
-> FROM DateFromTimestamp;
+---------------------------+
| OnlyDatePartFromTimestamp |
+---------------------------+
| 2012-12-26 |
| 2013-11-26 |
| 2016-07-22 |
| 2017-11-04 |
+---------------------------+
4 rows in set (0.00 sec)
संबंधित फ़ंक्शन
| फ़ंक्शन | निकालता है | उदाहरण (2018-11-26 14:30:45 के लिए) |
|---|---|---|
DATE() | दिनांक | 2018-11-26 |
TIME() | समय | 14:30:45 |
YEAR() | वर्ष | 2018 |
MONTH() | महीना | 11 |
DAY() | दिन | 26 |
HOUR() | घंटा | 14 |
MINUTE() | मिनट | 30 |
SECOND() | सेकंड | 45 |
वैकल्पिक: CAST / DATE_FORMAT
SELECT CAST(ShippingDateTime AS DATE) FROM DateFromTimestamp;
SELECT DATE_FORMAT(ShippingDateTime, '%Y-%m-%d') FROM DateFromTimestamp;
सभी समान परिणाम देते हैं। DATE() सबसे सरल और मानक है।
WHERE क्लॉज में उपयोग
SELECT * FROM Orders
WHERE DATE(OrderDateTime) = '2023-12-25';
नोट: कॉलम पर फ़ंक्शन लगाने से इंडेक्स उपयोग नहीं हो सकता। बेहतर:
WHERE OrderDateTime >= '2023-12-25' AND OrderDateTime < '2023-12-26'