MySQL-এ স্ট্রিং ফরম্যাটে সংরক্ষিত তারিখকে বর্তমান তারিখের সাথে তুলনা করতে STR_TO_DATE() ফাংশন ব্যবহার করে স্ট্রিংকে DATE টাইপে কনভার্ট করতে হয়, তারপর CURDATE() দিয়ে মিলিয়ে দেখা হয়।
সিনট্যাক্স
SELECT * FROM yourTableName
WHERE STR_TO_DATE(yourColumnName, 'yourFormatSpecifier') = CURDATE();
উদাহরণ (মান লইয়া: আজ ২৭/১০/২০১৯)
১. টেবিল তৈরি করুন
mysql> CREATE TABLE DemoTable (
-> JoiningDate VARCHAR(40)
-> );
২. বিভিন্ন বছরের একই তারিখ ইনসার্ট করুন
mysql> INSERT INTO DemoTable VALUES('27/10/2017');
mysql> INSERT INTO DemoTable VALUES('27/10/2018');
mysql> INSERT INTO DemoTable VALUES('27/10/2019');
mysql> INSERT INTO DemoTable VALUES('27/10/2020');
৩. সব রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable;
আউটপুট:
+-------------+
| JoiningDate |
+-------------+
| 27/10/2017 |
| 27/10/2018 |
| 27/10/2019 |
| 27/10/2020 |
+-------------+
৪. বর্তমান তারিখের রেকর্ড খুঁজুন
mysql> SELECT * FROM DemoTable
-> WHERE STR_TO_DATE(JoiningDate, '%d/%m/%Y') = CURDATE();
৫. ফলাফল (আজ ২৭/১০/২০১৯ হলে)
+-------------+
| JoiningDate |
+-------------+
| 27/10/2019 |
+-------------+
ফরম্যাট স্পেসিফায়ার:
%d- দিন (০১-৩১)%m- মাস (০১-১২)%Y- বছর (৪ অঙ্ক)%y- বছর (২ অঙ্ক)
সতর্কতা: স্ট্রিং কলামে ইনডেক্স কাজ করে না, বড় টেবিলে পারফরম্যান্স কম হতে পারে। সম্ভব হলে DATE/DATETIME টাইপ ব্যবহার করুন।