UPDATE + STR_TO_DATE() দিয়ে VARCHAR ডেট কনভার্ট করা
যদি তারিখ VARCHAR কলামে 'MM/DD/YYYY' ফরম্যাটে থাকে, তবে STR_TO_DATE() দিয়ে পার্স করে DATE টাইপে (যদি কলাম DATE হয়) বা স্ট্যান্ডার্ড 'YYYY-MM-DD' স্ট্রিংয়ে রূপান্তর করা যায়।
টেবিল ও ডেটা (MM/DD/YYYY)
mysql> CREATE TABLE DemoTable (DueDate VARCHAR(100));
mysql> INSERT INTO DemoTable VALUES('12/01/2019'), ('01/31/2016'), ('03/17/2018'), ('07/25/2017');
আপডেটের আগে
+------------+ | DueDate | +------------+ | 12/01/2019 | | 01/31/2016 | | 03/17/2018 | | 07/25/2017 | +------------+
UPDATE + STR_TO_DATE()
mysql> UPDATE DemoTable SET DueDate = STR_TO_DATE(DueDate, '%m/%d/%Y'); Query OK, 4 rows affected (0.18 sec)
আপডেটের পর (YYYY-MM-DD)
+------------+ | DueDate | +------------+ | 2019-12-01 | | 2016-01-31 | | 2018-03-17 | | 2017-07-25 | +------------+
ফরম্যাট স্পেসিফায়ার
%m— মাস (০১-১২)%d— দিন (০১-৩১)%Y— ৪ ডিজিট বছর%m/%d/%Y— 'MM/DD/YYYY' ফরম্যাট ম্যাচ করে।
সতর্কতা
- যদি কলাম
VARCHARথাকে,STR_TO_DATEআউটপুট 'YYYY-MM-DD' স্ট্রিং আকারে সেভ হবে। - কলাম
DATEটাইপ হলে আউটপুট ডেট অবজেক্ট হিসেবে সেভ হবে (ভালো প্র্যাক্টিস)। - ভুল ফরম্যাট দিলে NULL সেট হবে।