Bạn cần lưu trữ ngày dưới dạng ngày tháng đầy đủ hơn là chỉ lưu trữ tháng và năm. Nếu bạn khai báo là ngày giờ thì bạn có thể trích xuất tháng và năm bằng cách sử dụng hàm MONTH () và YEAR () từ MySQL.
Cú pháp như sau -
select MONTH(yourDateTimeColumnName) as anyVariableName1, YEAR(yourDateTimeColumnName) as anyVariableName2 from yourTableName;
Để 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 OnlyMonthandYear -> ( -> DueDateTime datetime -> ); Query OK, 0 rows affected (0.56 sec)
Chèn ngày vào bảng bằng lệnh chèn. Truy vấn để chèn bản ghi như sau -
mysql> insert into OnlyMonthandYear values('2016-12-10'); Query OK, 1 row affected (0.19 sec) mysql> insert into OnlyMonthandYear values('2017-10-21'); Query OK, 1 row affected (0.15 sec) mysql> insert into OnlyMonthandYear values('2018-03-25'); Query OK, 1 row affected (0.31 sec) mysql> insert into OnlyMonthandYear values('2018-12-18'); Query OK, 1 row affected (0.20 sec)
Hiển thị tất cả các bản ghi từ bảng bằng lệnh select. Truy vấn như sau -
mysql> select *from OnlyMonthandYear;
+---------------------+ | DueDateTime | +---------------------+ | 2016-12-10 00:00:00 | | 2017-10-21 00:00:00 | | 2018-03-25 00:00:00 | | 2018-12-18 00:00:00 | +---------------------+ 4 rows in set (0.00 sec)
Đây là truy vấn chỉ trích xuất tháng và năm từ cột kiểu dữ liệu datetime.
Truy vấn như sau -
mysql> select Month(DueDateTime) as OnlyMonth,Year(DueDateTime) as OnlyYear from OnlyMonthandYear;
Đầu ra
+-----------+----------+ | OnlyMonth | OnlyYear | +-----------+----------+ | 12 | 2016 | | 10 | 2017 | | 3 | 2018 | | 12 | 2018 | +-----------+----------+ 4 rows in set (0.02 sec)