MySQL में STR_TO_DATE() फ़ंक्शन का उपयोग करके कस्टम फॉर्मेट वाली स्ट्रिंग को मानक DATETIME मान में परिवर्तित करें।
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
-> AdmissionDate VARCHAR(100)
-> );
Query OK, 0 rows affected (0.66 sec)
mysql> INSERT INTO DemoTable VALUES('Wed, 19 Jun 2019 04:10:20');
Query OK, 1 row affected (0.22 sec)
मौजूदा डेटा देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+---------------------------+ | AdmissionDate | +---------------------------+ | Wed, 19 Jun 2019 04:10:20 | +---------------------------+ 1 row in set (0.00 sec)
स्ट्रिंग को DATETIME में परिवर्तित करना
mysql> SELECT STR_TO_DATE(AdmissionDate, '%a, %d %b %Y %H:%i:%s EDT') FROM DemoTable;
आउटपुट
+---------------------------------------------------------+ | STR_TO_DATE(AdmissionDate, '%a, %d %b %Y %H:%i:%s EDT') | +---------------------------------------------------------+ | 2019-06-19 04:10:20 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
फॉर्मेट स्पेसिफायर व्याख्या:
%a- संक्षिप्त सप्ताहांत नाम (Wed)%d- दिन (01-31)%b- संक्षिप्त महीना नाम (Jun)%Y- 4 अंकों वाला वर्ष%H- घंटा (00-23)%i- मिनट (00-59)%s- सेकंड (00-59)EDT- शाब्दिक टाइमज़ोन स्ट्रिंग (मिलान के लिए आवश्यक)
महत्वपूर्ण: फॉर्मेट स्ट्रिंग इनपुट स्ट्रिंग से सटीक रूप से मेल खानी चाहिए, जिसमें स्पेस, कॉमा, और शाब्दिक पाठ (जैसे EDT) शामिल हैं। बेमेल होने पर परिणाम NULL होगा।
सामान्य फॉर्मेट:
- ISO 8601:
'%Y-%m-%d %H:%i:%s' - भारतीय फॉर्मेट:
'%d-%m-%Y %H:%i:%s' - US फॉर्मेट:
'%m/%d/%Y %h:%i:%s %p'