MySQL में STR_TO_DATE() और UPDATE के साथ VARCHAR तिथि फॉर्मेट बदलना
जब तिथियां गलत फॉर्मेट में VARCHAR कॉलम में संग्रहीत होती हैं, तो STR_TO_DATE() का उपयोग करके उन्हें सही DATE मान में परिवर्तित किया जा सकता है।
व्यावहारिक उदाहरण
तालिका बनाना
mysql> CREATE TABLE DemoTable (
DueDate VARCHAR(100)
);
MM/DD/YYYY फॉर्मेट में तिथि डालना
mysql> INSERT INTO DemoTable VALUES('12/01/2019');
mysql> INSERT INTO DemoTable VALUES('01/31/2016');
mysql> INSERT INTO DemoTable VALUES('03/17/2018');
mysql> INSERT INTO DemoTable VALUES('07/25/2017');
बदलने से पहले डेटा देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+------------+ | DueDate | +------------+ | 12/01/2019 | | 01/31/2016 | | 03/17/2018 | | 07/25/2017 | +------------+
फॉर्मेट बदलने के लिए UPDATE क्वेरी
mysql> UPDATE DemoTable SET DueDate = STR_TO_DATE(DueDate, '%m/%d/%Y');
आउटपुट: Query OK, 4 rows affected
बदलने के बाद डेटा देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+------------+ | DueDate | +------------+ | 2019-12-01 | | 2016-01-31 | | 2018-03-17 | | 2017-07-25 | +------------+
महत्वपूर्ण फॉर्मेट स्पेसिफायर्स
| स्पेसिफायर | अर्थ | उदाहरण |
|---|---|---|
| %m | महीना (01-12) | 01, 12 |
| %d | दिन (01-31) | 01, 31 |
| %Y | 4 अंकों वाला वर्ष | 2019, 2016 |
| %M | महीने का पूरा नाम | January, December |
| %W | सप्ताह का पूरा नाम | Monday, Sunday |
चेतावनी: यह क्वेरी डेटा को स्थायी रूप से बदल देती है। पहले बैकअप लें या SELECT के साथ परीक्षण करें।