MySQL में STR_TO_DATE() फंक्शन का उपयोग करके स्ट्रिंग को विशिष्ट फॉर्मेट के अनुसार DATE/DATETIME में पार्स करें।
सिंटैक्स
SELECT STR_TO_DATE(yourColumnName, 'format') AS parsed_date FROM yourTableName;
सामान्य फॉर्मेट स्पेसिफायर
| स्पेसिफायर | अर्थ | उदाहरण |
|---|---|---|
| %d | दिन (01-31) | 10 |
| %m | महीना (01-12) | 11 |
| %Y | 4-अंकीय वर्ष | 2018 |
| %y | 2-अंकीय वर्ष | 18 |
| %b | संक्षिप्त महीना नाम | Nov |
| %M | पूरा महीना नाम | November |
| %H | घंटा 24-घंटा (00-23) | 13 |
| %i | मिनट (00-59) | 10 |
| %s | सेकंड (00-59) | 20 |
उदाहरण
टेबल बनाना
mysql> create table ParseDateDemo ( -> yourDate varchar(200) -> ); Query OK, 0 rows affected (0.55 sec)
विभिन्न फॉर्मेट में तारीखें डालना
mysql> insert into ParseDateDemo values('10-Nov-18');
mysql> insert into ParseDateDemo values('15-Nov-18');
mysql> insert into ParseDateDemo values('10-Dec-18');
mysql> insert into ParseDateDemo values('10-Aug-17');
पार्स करना (फॉर्मेट: '%d-%b-%y')
mysql> select str_to_date(yourDate, '%d-%b-%y') as DateNumber from ParseDateDemo;
+------------+ | DateNumber | +------------+ | 2018-11-10 | | 2018-11-15 | | 2018-12-10 | | 2017-08-10 | +------------+
अन्य फॉर्मेट उदाहरण
-- 'YYYY-MM-DD'
STR_TO_DATE('2024-12-25', '%Y-%m-%d')
-- 'DD/MM/YYYY'
STR_TO_DATE('25/12/2024', '%d/%m/%Y')
-- 'Month DD, YYYY'
STR_TO_DATE('December 25, 2024', '%M %d, %Y')
-- 'DD-Mon-YY HH:MI:SS'
STR_TO_DATE('25-Dec-24 14:30:00', '%d-%b-%y %H:%i:%s')
-- ISO 8601
STR_TO_DATE('2024-12-25T14:30:00', '%Y-%m-%dT%H:%i:%s')
व्यावहारिक उपयोग
-- गलत फॉर्मेट में स्टोर तारीखों को सही करना UPDATE events SET event_date = STR_TO_DATE(raw_date, '%d-%m-%Y') WHERE event_date IS NULL; -- CSV आयात में तारीख पार्सिंग LOAD DATA INFILE 'data.csv' INTO TABLE events FIELDS TERMINATED BY ',' (@raw_date, other_cols) SET event_date = STR_TO_DATE(@raw_date, '%m/%d/%Y');
नोट
- फॉर्मेट स्ट्रिंग डेटा से सटीक मेल खाना चाहिए
- मेल न होने पर NULL लौटाता है
DATE_FORMAT()विपरीत कार्य करता है (DATE → स्ट्रिंग)