Hỏi: Định dạng / giá trị phù hợp cho DATETIME
là gì theo nghĩa đen trong một câu lệnh MySQL?
Đ: Trong MySQL, định dạng chuẩn cho DATETIME
nghĩa đen là:
'YYYY-MM-DD HH:MI:SS'
với thành phần thời gian là đồng hồ 24 giờ (tức là các chữ số giờ được cung cấp dưới dạng giá trị từ 00 đến 23).
MySQL cung cấp một hàm nội trang STR_TO_DATE
có thể chuyển đổi các chuỗi ở các định dạng khác nhau thành DATE
hoặc DATETIME
kiểu dữ liệu.
Vì vậy, để thay thế, bạn cũng có thể chỉ định giá trị của DATETIME
với một lệnh gọi đến hàm đó, như thế này:
STR_TO_DATE('12/21/2012 1:13:58 PM','%m/%d/%Y %h:%i:%s %p')
Vì vậy, bạn có thể yêu cầu MySQL thực hiện chuyển đổi cho bạn trong INSERT
tuyên bố, nếu VALUES
của bạn danh sách trông như thế này:
... VALUES ('@stockID', STR_TO_DATE('@dateUpdated','%m/%d/%Y %h:%i:%s %p');
(Tôi nhận thấy bạn thiếu dấu phẩy bắt buộc giữa hai chữ trong VALUES
của bạn danh sách.)
MySQL cho phép một số vĩ độ trong các dấu phân cách giữa các phần của DATETIME
theo nghĩa đen, vì vậy chúng không được yêu cầu nghiêm ngặt.
Hướng dẫn Tham khảo MySQL 5.5.