Đối với điều này, hãy sử dụng STR_TO_DATE (). Đầu tiên chúng ta hãy tạo một bảng -
mysql> tạo bảng DemoTable (DueDate varchar (60)); Truy vấn OK, 0 hàng bị ảnh hưởng (0,71 giây)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> chèn vào giá trị DemoTable ('12 -AUG-2016 '); Truy vấn OK, 1 hàng bị ảnh hưởng (0,11 giây) mysql> chèn vào giá trị DemoTable ('14 -AUG-2018'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,11 giây) mysql> chèn vào giá trị DemoTable ('24 -AUG-2012 '); Truy vấn OK, 1 hàng bị ảnh hưởng (0,10 giây) mysql> chèn vào giá trị DemoTable ('14 -AUG-2012'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây)
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select * từ DemoTable;
Điều này sẽ tạo ra kết quả sau -
+ ------------- + | Ngày đến hạn | + ------------- + | Ngày 12 tháng 8 năm 2016 || 14-THÁNG 8-2018 || 24-AUG-2012 || 14-AUG-2012 | + ------------- + 4 hàng trong bộ (0,00 giây)
Sau đây là truy vấn để chọn bản ghi từ MySQL nếu ngày ở định dạng VARCHAR. Phương thức STR_TO_DATE () được sử dụng để chuyển đổi chuỗi thành ngày -
mysql> select * from DemoTable where str_to_date (DueDate, '% d-% M-% Y') =str_to_date ('14 -AUG-2012 ','% d-% M-% Y ');Điều này sẽ tạo ra kết quả sau -
+ ------------- + | Ngày đến hạn | + ------------- + | 14-AUG-2012 | + ------------- + 1 hàng trong bộ (0,00 giây)