MySQL-এ ছোট তারিখ ফরম্যাট (MM/YY) কে পূর্ণ তারিখ (YYYY-MM-DD) এ কনভার্ট করতে STR_TO_DATE() ফাংশন ব্যবহার করা হয়।
উদাহরণ
টেবিল তৈরি:
CREATE TABLE demo72 (due_date VARCHAR(40));
INSERT INTO demo72 VALUES ('11/15'), ('02/20'), ('07/95');
টেবিলের ডেটা:
+----------+ | due_date | +----------+ | 11/15 | | 02/20 | | 07/95 | +----------+
কোয়েরি
দিন ১০ ধরে কনভার্ট (ফরম্যাট: %d/%m/%y):
SELECT STR_TO_DATE(CONCAT('10/', due_date), '%d/%m/%y') AS original_date FROM demo72;
আউটপুট
+---------------+ | original_date | +---------------+ | 2015-11-10 | | 2020-02-10 | | 1995-07-10 | +---------------+
ব্যাখ্যা:
CONCAT('10/', due_date)-> '10/11/15', '10/02/20', '10/07/95'STR_TO_DATE(..., '%d/%m/%y')- ফরম্যাট স্পেসিফায়ার:%d=দিন,%m=মাস,%y=২ অঙ্কের বছর।- ২ অঙ্কের বছর ইন্টারপ্রিটেশন: ০০-৬৯ -> ২০০০-২০৬৯, ৭০-৯৯ -> ১৯৭০-১৯৯৯। তাই ৯৫ -> ১৯৯৫।
বিকল্প ফরম্যাট: যদি ইনপুট 'YY/MM' হয়, তবে STR_TO_DATE(due_date, '%y/%m') দিয়ে সরাসরি পার্স করা যায় (দিন ডিফল্ট ০১)। কিন্তু সেটি ০১ তারিখ দেবে। নির্দিষ্ট দিনের জন্য CONCAT পদ্ধতিই ভালো।