MySQL में STR_TO_DATE() फ़ंक्शन का उपयोग करके निर्दिष्ट फॉर्मेट वाली स्ट्रिंग को DATETIME मान में परिवर्तित करें।
सिंटैक्स
SELECT STR_TO_DATE(yourColumnName, '%d/%m/%Y %h:%i %p') AS anyAliasName FROM yourTableName;
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
-> DueDate VARCHAR(100)
-> );
Query OK, 0 rows affected (0.51 sec)
mysql> INSERT INTO DemoTable VALUES('11/02/2019 10:35'), ('21/12/2018 12:01');
मौजूदा डेटा देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+------------------+ | DueDate | +------------------+ | 11/02/2019 10:35 | | 21/12/2018 12:01 | +------------------+ 2 rows in set (0.00 sec)
स्ट्रिंग को DATETIME में परिवर्तित करना
mysql> SELECT STR_TO_DATE(DueDate, '%d/%m/%Y %h:%i %p') AS ConvertDate FROM DemoTable;
आउटपुट
+---------------------+ | ConvertDate | +---------------------+ | 2019-02-11 10:35:00 | | 2018-12-21 00:01:00 | +---------------------+ 2 rows in set (0.00 sec)
फॉर्मेट स्पेसिफायर व्याख्या:
%d- दिन (01-31)%m- महीना (01-12)%Y- 4 अंकों वाला वर्ष%h- घंटा 12-घंटे प्रारूप (01-12)%i- मिनट (00-59)%p- AM/PM
महत्वपूर्ण: इनपुट में "10:35" है लेकिन %p (AM/PM) निर्दिष्ट है। MySQL 12-घंटे प्रारूप मानता है, इसलिए 10:35 → 10:35 AM। दूसरी पंक्ति "12:01" → 12:01 AM (मध्यरात्रि) के रूप में पार्स होती है।
24-घंटे प्रारूप के लिए: '%d/%m/%Y %H:%i' उपयोग करें (%H = 00-23)।