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

So sánh chỉ ngày và tháng với trường ngày trong MySQL?

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)