MySQL में असंगत स्ट्रिंग फॉर्मेट में संग्रहीत दिनांक-समय मानों को मानक टाइमस्टैम्प में बदलने के लिए STR_TO_DATE() और DATE_FORMAT() फ़ंक्शन का संयोजन उपयोग किया जाता है।
सिंटैक्स
DATE_FORMAT(STR_TO_DATE(string_column, 'input_format'), 'output_format')
उदाहरण
तालिका बनाएं और डेटा डालें:
mysql> CREATE TABLE DemoTable (ReportingDate VARCHAR(40));
mysql> INSERT INTO DemoTable VALUES
-> ('Wed Oct 02 16:10:45 IST 2019'),
-> ('Fri May 31 13:00:10 IST 2019'),
-> ('Mon Dec 31 14:20:00 IST 2018');
रूपांतरण क्वेरी
mysql> SELECT DATE_FORMAT(
-> STR_TO_DATE(ReportingDate, '%a %b %d %T IST %Y'),
-> '%d-%m-%Y %H:%i:%s'
-> ) FROM DemoTable;
फॉर्मेट स्पेसिफायर
| स्पेसिफायर | अर्थ |
|---|---|
| %a | संक्षिप्त सप्ताहांत नाम (Mon, Tue) |
| %b | संक्षिप्त माह नाम (Jan, Feb) |
| %d | माह का दिन (01-31) |
| %T | समय 24-घंटे फॉर्मेट में (HH:MM:SS) |
| %Y | 4-अंकीय वर्ष |
| %H:%i:%s | घंटा:मिनट:सेकंड |
परिणाम
+-----------------------------+
| 02-10-2019 16:10:45 |
| 31-05-2019 13:00:10 |
| 31-12-2018 14:20:00 |
+-----------------------------+
महत्वपूर्ण
STR_TO_DATE में इनपुट फॉर्मेट सटीक रूप से आपके स्ट्रिंग डेटा के फॉर्मेट से मेल खाना चाहिए, अन्यथा परिणाम NULL होगा।