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

Thực hiện một lựa chọn trong MySQL chỉ dựa trên tháng và năm?

Để chọn MySQL dựa trên tháng và năm, hãy sử dụng hàm tích hợp sẵn YEAR () và MONTH (). Cú pháp như sau -

select *from yourTableName where YEAR(yourColumnName) = YearValue AND MONTH(yourColumnName) = monthValue;

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

mysql> create table selectDataOnYearandMonthDemo
   −> (
   −> BookId int,
   −> BookName varchar(100), 
   −> BookDueDate datetime
   −> );
Query OK, 0 rows affected (0.57 sec)

Bây giờ bạn có thể chèn một số bản ghi trong bảng. Truy vấn như sau -

mysql> insert into selectDataOnYearandMonthDemo values(101,'C in Depth',date_add(now(),interval -1 year));
Query OK, 1 row affected (0.50 sec)

mysql> insert into selectDataOnYearandMonthDemo values(102,'Let us C',date_add(curdate(),interval 1 year));
Query OK, 1 row affected (0.12 sec)

mysql> insert into selectDataOnYearandMonthDemo values(103,'SCJP Java','2018-12-5');
Query OK, 1 row affected (0.12 sec)

mysql> insert into selectDataOnYearandMonthDemo values(104,'Introduction to C++','2016-4-5');
Query OK, 1 row affected (0.24 sec)

Hiển thị tất cả các bản ghi mà chúng tôi đã chèn ở trên. Truy vấn để hiển thị tất cả các bản ghi như sau -

mysql> select *from selectDataOnYearandMonthDemo;

Sau đây là kết quả -

+--------+--------------------+---------------------+
| BookId | BookName           | BookDueDate         |
+--------+--------------------+---------------------+
|    101 | C in Depth         | 2017-12-05 21:44:20 |
|    102 | Let us C           | 2019-12-05 00:00:00 |
|    103 | SCJP Java          | 2018-12-05 00:00:00 |
|    104 | Introduction to C++| 2016-04-05 00:00:00 |
+--------+--------------------+---------------------+
4 rows in set (0.00 sec)

Đây là truy vấn để chọn năm và tháng. Truy vấn như sau -

mysql> select *from selectDataOnYearandMonthDemo where YEAR(BookDueDate) = 2019 AND MONTH(BookDueDate) = 12;

Sau đây là kết quả -

+--------+----------+---------------------+
| BookId | BookName | BookDueDate         |
+--------+----------+---------------------+
| 102    | Let us C | 2019-12-05 00:00:00 |
+--------+----------+---------------------+
1 row in set (0.05 sec)