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

Làm cách nào để chọn một bản ghi cụ thể từ MySQL nếu ngày ở định dạng VARCHAR?

Đố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)