MySQL-এ ডেটাটাইম কলাম থেকে বর্তমান তারিখ (দিন, মাস, বছর) অনুযায়ী রেকর্ড ফিল্টার করতে YEAR(), MONTH(), DAY() এবং NOW() ফাংশন ব্যবহার করা হয়।
উদাহরণ
টেবিল তৈরি:
mysql> CREATE TABLE userLoginInformation (
-> UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> UserName VARCHAR(20),
-> UserLoginTime DATETIME
-> );
ডেটা ইনসার্ট:
mysql> INSERT INTO userLoginInformation(UserName, UserLoginTime) VALUES('John', '2016-02-12');
mysql> INSERT INTO userLoginInformation(UserName, UserLoginTime) VALUES('Carol', '2019-01-31');
mysql> INSERT INTO userLoginInformation(UserName, UserLoginTime) VALUES('Bob', '2019-02-19');
mysql> INSERT INTO userLoginInformation(UserName, UserLoginTime) VALUES('Sam', '2018-02-19');
mysql> INSERT INTO userLoginInformation(UserName, UserLoginTime) VALUES('Larry', '2017-04-18');
সকল রেকর্ড:
mysql> SELECT * FROM userLoginInformation;
+--------+----------+---------------------+ | UserId | UserName | UserLoginTime | +--------+----------+---------------------+ | 1 | John | 2016-02-12 00:00:00 | | 2 | Carol | 2019-01-31 00:00:00 | | 3 | Bob | 2019-02-19 00:00:00 | | 4 | Sam | 2018-02-19 00:00:00 | | 5 | Larry | 2017-04-18 00:00:00 | +--------+----------+---------------------+
বর্তমান বছরের রেকর্ড (যেমন ২০১৯):
mysql> SELECT * FROM userLoginInformation WHERE YEAR(UserLoginTime) = YEAR(NOW());
+--------+----------+---------------------+ | UserId | UserName | UserLoginTime | +--------+----------+---------------------+ | 2 | Carol | 2019-01-31 00:00:00 | | 3 | Bob | 2019-02-19 00:00:00 | +--------+----------+---------------------+
অন্যান্য ফিল্টার:
- বর্তমান মাস:
WHERE MONTH(UserLoginTime) = MONTH(NOW()) AND YEAR(UserLoginTime) = YEAR(NOW()) - বর্তমান দিন:
WHERE DATE(UserLoginTime) = CURDATE() - গত ৭ দিন:
WHERE UserLoginTime >= DATE_SUB(NOW(), INTERVAL 7 DAY)
WHERE UserLoginTime >= '2019-01-01' AND UserLoginTime < '2019-02-01' রেঞ্জ কোয়েরি দ্রুত হবে।