Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Lọc bản ghi theo ngày, tháng, năm hiện tại trong MySQL

Dùng hàm YEAR(), MONTH(), DAY() kết hợp với NOW() để lọc bản ghi theo ngày/tháng/năm hiện tại.

Tạo bảng:

mysql> CREATE TABLE userLoginInformation (
    -> UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> UserName VARCHAR(20),
    -> UserLoginTime DATETIME
    -> );

Chèn dữ liệu mẫu:

mysql> INSERT INTO userLoginInformation(UserName, UserLoginTime) VALUES
    -> ('John','2016-02-12'), ('Carol','2019-01-31'), ('Bob','2019-02-19'),
    -> ('Sam','2018-02-19'), ('Larry','2017-04-18');

Hiển thị dữ liệu:

+--------+----------+---------------------+
| 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 |
+--------+----------+---------------------+

Lọc bản ghi năm hiện tại (giả sử năm 2019):

mysql> SELECT * FROM userLoginInformation WHERE YEAR(UserLoginTime) = YEAR(NOW());

Kết quả:

+--------+----------+---------------------+
| UserId | UserName | UserLoginTime       |
+--------+----------+---------------------+
| 2      | Carol    | 2019-01-31 00:00:00 |
| 3      | Bob      | 2019-02-19 00:00:00 |
+--------+----------+---------------------+

Tương tự cho tháng: MONTH(UserLoginTime) = MONTH(NOW()), ngày: DAY(UserLoginTime) = DAY(NOW()).