কম্পিউটার টিউটোরিয়াল

MySQL-এ VARCHAR টাইপ কলাম থেকে নির্দিষ্ট তারিখের পরের ডেটা খুঁজে বের করা (STR_TO_DATE)

MySQL-এ যদি তারিখ VARCHAR টাইপে সংরক্ষিত থাকে, তবে তারিখ তুলনার জন্য STR_TO_DATE() ফাংশন ব্যবহার করে সেটিকে সঠিক DATE/DATETIME ফরম্যাটে কনভার্ট করতে হয়।

টেবিল ও ডেটা (VARCHAR এ তারিখ)

mysql> create table DemoTable1364 ( ShippingDate varchar(100) );
mysql> insert into DemoTable1364 values
('01-09-2019 12:34:55'),
('01-07-2018 17:10:00'),
('24-09-2019 10:31:22'),
('20-09-2018 13:00:00');

সব রেকর্ড

mysql> select * from DemoTable1364;
+---------------------+
| ShippingDate        |
+---------------------+
| 01-09-2019 12:34:55 |
| 01-07-2018 17:10:00 |
| 24-09-2019 10:31:22 |
| 20-09-2018 13:00:00 |
+---------------------+

STR_TO_DATE দিয়ে কনভার্ট করে তুলনা (২০১৯-০৯-২১ ১০:৩১:২০ এর পরের রেকর্ড)

mysql> select * from DemoTable1364
    -> where str_to_date(ShippingDate,'%d-%m-%Y %H:%i:%s') > str_to_date('2019-09-21 10:31:20', '%Y-%m-%d %H:%i:%s');
+---------------------+
| ShippingDate        |
+---------------------+
| 24-09-2019 10:31:22 |
+---------------------+

ব্যাখ্যা: STR_TO_DATE(str, format) স্ট্রিংকে ফরম্যাট অনুযায়ী ডেটাইমে কনভার্ট করে। দুটি ভিন্ন ফরম্যাটের স্ট্রিং (dd-mm-yyyy vs yyyy-mm-dd) একসাথে তুলনা করার জন্য দুটোকেই কনভার্ট করা লাগে। ইনডেক্স কাজ না করবে — বড় ডেটাসেটে কম্পিউটেড কোলাম বা জেনারেটেড কোলাম ব্যবহার করুন।

  1. MySQL-এ DATE টাইপ কলাম আপডেট করা

  2. MySQL-এ STR_TO_DATE() এবং CURDATE() ব্যবহার করে বর্তমান তারিখের রেকর্ড খুঁজুন

  3. MySQL-এ কমা-সেপারেটেড কলাম থেকে নির্দিষ্ট মান খোঁজা (FIND_IN_SET)

  4. MySQL-এ VARCHAR কলাম থেকে সর্বোচ্চ সংখ্যাগত মান বের করা