हम UNIX_TIMESTAMP() फ़ंक्शन की मदद से MySQL डेट और टाइम को यूनिक्स टाइमस्टैम्प में बदल सकते हैं।
निम्नलिखित क्वेरी है।
mysql> SELECT UNIX_TIMESTAMP(STR_TO_DATE('Oct 19 2018 10:00PM', '%M %d %Y %h:%i%p'));
उपरोक्त क्वेरी चलाने के बाद हमें नीचे दिखाए गए आउटपुट में डेट फॉर्मेट में आउटपुट नहीं मिलेगा। यहां दिखाया गया आउटपुट एक यूनिक्स टाइमस्टैम्प है।
+------------------------------------------------------------------------+
| UNIX_TIMESTAMP(STR_TO_DATE('Oct 19 2018 10:00PM', '%M %d %Y %h:%i%p')) |
+------------------------------------------------------------------------+
| 1539966600 |
+------------------------------------------------------------------------+
1 row in set (0.04 sec)
वास्तविक डेट/टाइम प्राप्त करने के लिए, क्वेरी निम्नानुसार है।
mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE('Oct 19 2018 10:00PM', '%M %d %Y %h:%i%p')),'%m-%d-%Y %h:%i:%p');
निम्नलिखित आउटपुट है।
+-----------------------------------------------------------------------------------------------------------+
| FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE('Oct 19 2018 10:00PM', '%M %d %Y %h:%i%p')),'%m-%d-%Y %h:%i:%p') |
+-----------------------------------------------------------------------------------------------------------+
| 10-19-2018 10:00:PM |
+-----------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
सरल विकल्प: यदि कॉलम पहले से हीDATETIMEयाTIMESTAMPप्रकार का है, तो सीधेUNIX_TIMESTAMP(column_name)का उपयोग करें।STR_TO_DATEकेवल स्ट्रिंग को पार्स करने के लिए आवश्यक है।