Bạn chỉ có thể so sánh ngày và tháng với trường ngày trong MySQL với sự trợ giúp của DATE_FORMAT ().
Cú pháp như sau
select * from yourTableNameWHERE DATE_FORMAT (yourColumnName, '% m-% d') =DATE_FORMAT ('yourValue', '% m-% d') và yourCondition;
Để 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> tạo bảng CompareDayAndMonthDemo -> (-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> CompareDayAndTime date ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,49 giây)
Chèn một số bản ghi vào bảng bằng lệnh chèn.
Truy vấn như sau
mysql> chèn vào giá trị so sánh sánhDayAndMonthDemo (so sánhDayAndTime) ('2014-01-31'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,20 giây) mysql> chèn vào giá trị so sánhDayAndMonthDemo (so sánhDayAndTime) ('2014-10-11'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,16 giây) mysql> chèn vào giá trị CompareDayAndMonthDemo (so sánhDayAndTime) ('2016-09-12'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,08 giây) mysql> chèn vào giá trị CompareDayAndMonthDemo (so sánhDayAndTime) ( '2017-04-25'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,08 giây) mysql> chèn vào giá trị CompareDayAndMonthDemo (so sánhDayAndTime) ('2018-12-25'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,08 giây) mysql> chèn vào giá trị CompareDayAndMonthDemo (so sánhDayAndTime) ('2019-02-27'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,07 giây)
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 * từ CompareDayAndMonthDemo;
Sau đây là kết quả
+ ---- + ------------------- + | Id | so sánhDayAndTime | + ---- + ------------------- + | 1 | 2014-01-31 || 2 | 2014-10-11 || 3 | 2016-09-12 || 4 | 2017-04-25 || 5 | 2018-12-25 || 6 | 2019-02-27 | + ---- + ------------------- + 6 hàng trong bộ (0,00 giây)
Đây là truy vấn để chỉ so sánh ngày và tháng
mysql> select * from CompareDayAndMonthDemo-> WHERE DATE_FORMAT (so sánhDayAndTime, '% m-% d') =DATE_FORMAT ('2019-01-31', '% m-% d') và Id =1;Sau đây là kết quả
+ ---- + ------------------- + | Id | so sánhDayAndTime | + ---- + ------------------- + | 1 | 2014-01-31 | + ---- + ------------------- + 1 hàng trong bộ (0,00 giây)Nếu bạn chỉ muốn ngày và tháng, thì hãy sử dụng truy vấn dưới đây
mysql> chọn DATE_FORMAT (so sánhDayAndTime, '% m-% d') AS DayAndMonthOnly từ so sánhDayAndMonthDemo-> WHERE DATE_FORMAT (so sánhDayAndTime, '% m-% d') =DATE_FORMAT ('2019-01-31', '% m-% d ') và Id =1;Sau đây là kết quả
+ ----------------- + | DayAndMonthOnly | + ----------------- + | 01-31 | + ----------------- + 1 hàng trong bộ (0,00 giây)