MySQL में STR_TO_DATE() फ़ंक्शन का उपयोग करके तारीख बनाएं
MySQL में आप अंतर्निहित STR_TO_DATE() फ़ंक्शन का उपयोग करके अलग-अलग दिन, महीना और साल के कॉलम से एक पूर्ण तारीख बना सकते हैं। सिंटैक्स इस प्रकार है:
SELECT STR_TO_DATE(CONCAT(yourYearColumnName,'-',LPAD(yourMonthColumnName,2,'00'),'-',LPAD(yourDayColumnName,2,'00')), '%Y-%m-%d') as anyVariableName FROM yourTableName;
उदाहरण के साथ समझें
सबसे पहले एक डेमो टेबल बनाते हैं:
mysql> CREATE TABLE DateCreateDemo (
-> `Day` VARCHAR(2),
-> `Month` VARCHAR(2),
-> `Year` VARCHAR(4)
-> );
कुछ नमूना डेटा डालें:
mysql> INSERT INTO DateCreateDemo VALUES('15','12','2018');
mysql> INSERT INTO DateCreateDemo VALUES('10','11','2016');
mysql> INSERT INTO DateCreateDemo VALUES('12','6','2017');
mysql> INSERT INTO DateCreateDemo VALUES('9','8','2019');
mysql> INSERT INTO DateCreateDemo VALUES('10','5','2020');
सभी रिकॉर्ड देखें:
mysql> SELECT * FROM DateCreateDemo;
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 15 | 12 | 2018 | | 10 | 11 | 2016 | | 12 | 6 | 2017 | | 9 | 8 | 2019 | | 10 | 5 | 2020 | +------+-------+------+
तारीख बनाने का क्वेरी
अब तीनों फील्ड को मिलाकर मानक तारीख फॉर्मेट (YYYY-MM-DD) में बदलें:
mysql> SELECT STR_TO_DATE(CONCAT(Year,'-',LPAD(Month,2,'00'),'-',LPAD(Day,2,'00')), '%Y-%m-%d') AS DateDemo FROM DateCreateDemo;
आउटपुट
+------------+ | DateDemo | +------------+ | 2018-12-15 | | 2016-11-10 | | 2017-06-12 | | 2019-08-09 | | 2020-05-10 | +------------+
व्याख्या: LPAD फ़ंक्शन सुनिश्चित करता है कि महीना और दिन दो अंकों के हों (जैसे 6 → 06)। CONCAT उन्हें 'YYYY-MM-DD' स्ट्रिंग में जोड़ता है, और STR_TO_DATE उसे DATE टाइप में बदल देता है।