Tôi có một string
cột hoạt động như một date
và 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 string
cột hoạt động như một date
và 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 WHERE
mệ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/%Y
thí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