CAST() फंक्शन का उपयोग
MySQL में CAST() फंक्शन का उपयोग करके DATETIME मान को अलग-अलग DATE और TIME भागों में विभाजित किया जा सकता है।
उदाहरण: टेबल बनाना और डेटा इन्सर्ट करना
mysql> CREATE TABLE DemoTable805(LoginDate DATETIME); Query OK, 0 rows affected (0.63 sec)
रिकॉर्ड्स इन्सर्ट करना
mysql> INSERT INTO DemoTable805 VALUES('2019-01-31 12:45:20');
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO DemoTable805 VALUES('2017-11-01 10:20:30');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable805 VALUES('2016-03-12 04:10:00');
Query OK, 1 row affected (0.35 sec)
mysql> INSERT INTO DemoTable805 VALUES('2018-12-24 05:01:00');
Query OK, 1 row affected (0.13 sec)
सभी रिकॉर्ड्स देखना
mysql> SELECT * FROM DemoTable805;
+---------------------+ | LoginDate | +---------------------+ | 2019-01-31 12:45:20 | | 2017-11-01 10:20:30 | | 2016-03-12 04:10:00 | | 2018-12-24 05:01:00 | +---------------------+ 4 rows in set (0.00 sec)
डेट और टाइम में विभाजित करने की क्वेरी
mysql> SELECT CAST(LoginDate AS DATE), CAST(LoginDate AS TIME) FROM DemoTable805;
परिणाम
+-------------------------+-------------------------+ | CAST(LoginDate AS DATE) | CAST(LoginDate AS TIME) | +-------------------------+-------------------------+ | 2019-01-31 | 12:45:20 | | 2017-11-01 | 10:20:30 | | 2016-03-12 | 04:10:00 | | 2018-12-24 | 05:01:00 | +-------------------------+-------------------------+ 4 rows in set (0.03 sec)
अल्टरनेटिव तरीके
DATE() और TIME() फंक्शन्स (अधिक पठनीय)
SELECT DATE(LoginDate) AS LoginDate, TIME(LoginDate) AS LoginTime FROM DemoTable805;
तुलना के लिए उपयोग
विभाजित भागों का उपयोग WHERE क्लॉज में करें:
-- विशिष्ट तारीख के रिकॉर्ड्स SELECT * FROM DemoTable805 WHERE DATE(LoginDate) = '2019-01-31'; -- विशिष्ट समय सीमा के रिकॉर्ड्स SELECT * FROM DemoTable805 WHERE TIME(LoginDate) BETWEEN '09:00:00' AND '17:00:00';
महत्वपूर्ण बिंदु
CAST(expr AS TYPE)मानक SQL सिंटैक्स हैDATE()औरTIME()MySQL-विशिष्ट फंक्शन्स हैं जो अधिक पठनीय हैं- दोनों तरीके समान परिणाम देते हैं
- तुलना के लिए इंडेक्स का लाभ लेने के लिए कॉलम पर सीधे रेंज क्वेरी बेहतर हो सकती है