Để lấy danh sách người dùng đăng nhập trong hôm nay, bạn so sánh cột ngày (kiểu chuỗi) với hàm CURDATE() sau khi chuyển đổi bằng STR_TO_DATE. Cú pháp:
SELECT cot1, cot2, ... FROM ten_bang WHERE STR_TO_DATE(cot_ngay, 'dinh_dang') = CURDATE();
Ví dụ với bảng DateEqualToday lưu tên và ngày đăng nhập:
+------+------------+-----------+------------+ | Id | First_Name | Last_Name | LoginDate | +------+------------+-----------+------------+ | 1 | James | Smith | 20-12-2018 | | 2 | Carol | Taylor | 21-12-2017 | | 3 | John | Smith | 21-12-2018 | | 4 | Maria | Garcia | 22-12-2018 | | 5 | Mike | Davis | 21-12-2018 | | 6 | Bob | Wilson | 21-12-2018 | +------+------------+-----------+------------+
Truy vấn lọc người dùng đăng nhập hôm nay (giả sử hôm nay là 21-12-2018):
mysql> SELECT Id, First_Name, LoginDate
-> FROM DateEqualToday
-> WHERE STR_TO_DATE(LoginDate, '%d-%m-%Y') = CURDATE();
Kết quả
+------+------------+------------+ | Id | First_Name | LoginDate | +------+------------+------------+ | 3 | John | 21-12-2018 | | 5 | Mike | 21-12-2018 | | 6 | Bob | 21-12-2018 | +------+------------+------------+
Giải thích: Hàm CURDATE() chỉ trả về ngày hiện tại (không có giờ), nên so sánh chính xác với phần ngày sau khi chuyển đổi từ chuỗi.