Computer >> Máy Tính >  >> Lập trình >> MySQL

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

Giả sử bạn có một bảng với cột UserLoginTime trong đó chúng tôi đã lưu trữ một số giá trị cho mẫu. Đây là thời gian đăng nhập của người dùng và chúng tôi muốn lọc tất cả các bản ghi này trên cơ sở ngày, tháng và năm hiện tại tức là ngày hiện tại. Chúng tôi sẽ

Bây giờ chúng ta hãy tạo bảng mà chúng ta đã thảo luận ở trên

mysql> create table userLoginInformation
   - > (
   - > UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > UserName varchar(20),
   - > UserLoginTime datetime
   - > );
Query OK, 0 rows affected (0.79 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn.

Truy vấn như sau

mysql> insert into userLoginInformation(UserName,UserLoginTime) values('John','2016-02-12');
Query OK, 1 row affected (0.18 sec)
mysql> insert into userLoginInformation(UserName,UserLoginTime) values('Carol','2019-01-31');
Query OK, 1 row affected (0.16 sec)
mysql> insert into userLoginInformation(UserName,UserLoginTime) values('Bob','2019-02-19');
Query OK, 1 row affected (0.12 sec)
mysql> insert into userLoginInformation(UserName,UserLoginTime) values('Sam','2018-02-19');
Query OK, 1 row affected (0.16 sec)
mysql> insert into userLoginInformation(UserName,UserLoginTime) values('Larry','2017-04-18');
Query OK, 1 row affected (0.18 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select.

Truy vấn như sau

mysql> select *from userLoginInformation;

Sau đây là kết quả

+--------+----------+---------------------+
| 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 |
+--------+----------+---------------------+
5 rows in set (0.00 sec)

Bây giờ, chúng tôi sẽ lọc các bản ghi trên cơ sở ngày hiện tại bằng cách sử dụng YEAR () và bây giờ (). Ở đây, chúng tôi đang sử dụng now () để lấy ngày hiện tại

mysql> select *from userLoginInformation where YEAR(UserLoginTime)=YEAR(now());

Sau đây là kết quả

+--------+----------+---------------------+
| UserId | UserName | UserLoginTime       |
+--------+----------+---------------------+
|      2 | Carol    | 2019-01-31 00:00:00 |
|      3 | Bob      | 2019-02-19 00:00:00 |
+--------+----------+---------------------+
2 rows in set (0.00 sec)