MySQL-এ STR_TO_DATE() এবং DATE_FORMAT() ব্যবহার করে ডেট ফরম্যাট রূপান্তর
MySQL-এ dd.mm.yyyy ফরম্যাটের ডেট (যেমন 11.01.2019) কে স্ট্যান্ডার্ড YYYY-MM-DD ফরম্যাটে রূপান্তর করতে STR_TO_DATE() ফাংশন ব্যবহার করা হয়। প্রয়োজনে DATE_FORMAT() দিয়েও আউটপুট ফরম্যাট নিয়ন্ত্রণ করা যায়।
সিনট্যাক্স
SELECT STR_TO_DATE(yourDateColumnName, '%d.%m.%Y') AS anyVariableName FROM yourTableName;
এখানে %d = দিন, %m = মাস, %Y = ৪ সংখ্যার বছর।
উদাহরণ
টেবিল তৈরি
mysql> CREATE TABLE ConvertIntoDateFormat (
-> Id INT NOT NULL AUTO_INCREMENT,
-> LoginDate VARCHAR(30),
-> PRIMARY KEY(Id)
-> );
ডেটা ইনসার্ট
mysql> INSERT INTO ConvertIntoDateFormat(LoginDate) VALUES('11.01.2019');
mysql> INSERT INTO ConvertIntoDateFormat(LoginDate) VALUES('10.04.2017');
mysql> INSERT INTO ConvertIntoDateFormat(LoginDate) VALUES('21.10.2016');
mysql> INSERT INTO ConvertIntoDateFormat(LoginDate) VALUES('26.09.2018');
mysql> INSERT INTO ConvertIntoDateFormat(LoginDate) VALUES('25.12.2012');
সকল রেকর্ড দেখানো
mysql> SELECT * FROM ConvertIntoDateFormat;
আউটপুট
+----+------------+ | Id | LoginDate | +----+------------+ | 1 | 11.01.2019 | | 2 | 10.04.2017 | | 3 | 21.10.2016 | | 4 | 26.09.2018 | | 5 | 25.12.2012 | +----+------------+
STR_TO_DATE() ব্যবহার করে রূপান্তর
mysql> SELECT STR_TO_DATE(LoginDate, '%d.%m.%Y') AS DateFormat FROM ConvertIntoDateFormat;
ফলাফল
+------------+ | DateFormat | +------------+ | 2019-01-11 | | 2017-04-10 | | 2016-10-21 | | 2018-09-26 | | 2012-12-25 | +------------+
DATE_FORMAT() এবং STR_TO_DATE() একসাথে ব্যবহার
mysql> SELECT DATE_FORMAT(STR_TO_DATE(LoginDate, '%d.%m.%Y'), '%Y-%m-%d') AS DateFormat FROM ConvertIntoDateFormat;
ফলাফল
+------------+ | DateFormat | +------------+ | 2019-01-11 | | 2017-04-10 | | 2016-10-21 | | 2018-09-26 | | 2012-12-25 | +------------+
টিপস: যদি কলামটি ইতিমধ্যে DATE বা DATETIME টাইপের হয়, তবে শুধু DATE_FORMAT()ই যথেষ্ট।