Tôi có một stringcột hoạt động như một datevà tôi muốn chọn nó là một date.
Có thể không?
Định dạng dữ liệu mẫu của tôi sẽ là; month/day/year->12/31/2011
Tôi có một stringcột hoạt động như một datevà tôi muốn chọn nó là một date.
Có thể không?
Định dạng dữ liệu mẫu của tôi sẽ là; month/day/year->12/31/2011
Câu trả lời:
Như đã nói tại MySQL Sử dụng cột chuỗi có văn bản ngày làm trường ngày , bạn có thể làm
SELECT STR_TO_DATE(yourdatefield, '%m/%d/%Y')
FROM yourtable
Bạn cũng có thể xử lý các chuỗi ngày này trong WHEREmệnh đề. Ví dụ
SELECT whatever
FROM yourtable
WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAY
Bạn có thể xử lý tất cả các loại bố cục ngày / giờ theo cách này. Vui lòng tham khảo các chỉ định định dạng cho DATE_FORMAT()chức năng để xem những gì bạn có thể đưa vào tham số thứ hai của STR_TO_DATE().
STR_TO_DATE('12/31/2011', '%m/%d/%Y')
%d/%m/%Ythích vì vậy STR_TO_DATE('31/11/1015', '%d/%m/%Y')hãy nhớ rằng đầu ra sẽ có YYYY-MM-DDđịnh dạng dưới dạng DATE kiểu dữ liệu.
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-fifts.html
sử dụng trang trên để tham khảo thêm Chức năng trong MySQL
SELECT STR_TO_DATE(StringColumn, '%d-%b-%y')
FROM table
nói ví dụ sử dụng truy vấn dưới đây để có được đầu ra
SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table
Đối với định dạng Chuỗi, sử dụng liên kết dưới đây
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-fifts.html#feft_date-format