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.