DATETIME ফিল্ড থেকে আজকের রেকর্ড পেতে DATE() ফাংশন বা ডেট রেঞ্জ ব্যবহার করুন।
টেবিল তৈরি করা (DATETIME কলাম)
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ShippingDate datetime ); Query OK, 0 rows affected (0.54 sec)
রেকর্ড ইনসার্ট করা
mysql> insert into DemoTable(ShippingDate) values('2019-03-01 05:45:32'); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(ShippingDate) values('2019-04-13 11:34:56'); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(ShippingDate) values('2019-03-15 04:45:23'); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(ShippingDate) values('2019-04-11 12:10:02'); Query OK, 1 row affected (0.17 sec)
রেকর্ড প্রদর্শন
mysql> select * from DemoTable;
আউটপুট:
+----+---------------------+ | Id | ShippingDate | +----+---------------------+ | 1 | 2019-03-01 05:45:32 | | 2 | 2019-04-13 11:34:56 | | 3 | 2019-03-15 04:45:23 | | 4 | 2019-04-11 12:10:02 | +----+---------------------+ 4 rows in set (0.00 sec)
আজকের রেকর্ড পাওয়া (মান लो আজ 2019-04-13)
mysql> select * from DemoTable where ShippingDate > date_sub(curdate(),interval 1 day);
আউটপুট:
+----+---------------------+ | Id | ShippingDate | +----+---------------------+ | 2 | 2019-04-13 11:34:56 | +----+---------------------+ 1 row in set (0.00 sec)
ব্যাখ্যা: DATE_SUB(CURDATE(), INTERVAL 1 DAY) গতকালের ডেট রিটার্ন করে। ShippingDate > ... মানে আজকের ০০:০০:০০ থেকে শুরু হয়ে যেসব রেকর্ড আছে। সঠিক রেঞ্জের জন্য WHERE DATE(ShippingDate) = CURDATE() বা WHERE ShippingDate >= CURDATE() AND ShippingDate < CURDATE() + INTERVAL 1 DAY ব্যবহার করুন।