我正在使用以下SQL字符串将此DateTime数据插入'12/21/2012 1:13:58 PM'到我的MySQL数据库中:
DateTime
'12/21/2012 1:13:58 PM'
String Query = "INSERT INTO `restaurantdb`.`stocksdb` (`stock_ID`,`stock_dateUpdated`) VALUES ('@stockID' '@dateUpdated');
并且我收到此错误消息:
Incorrect datetime value: '12/21/2012 1:13:58 PM' for column 'stock_dateUpdated' at row 1
那么dateTime输入MySQL数据库的正确格式/值是什么?
dateTime
问:DATETIME MySQL语句中文字的正确格式/值是什么?
DATETIME
答: 在MySQL中,DATETIME文字的标准格式为:
'YYYY-MM-DD HH:MI:SS'
时间部分为24小时制(即,小时数字以00到23之间的值形式提供)。
MySQL提供了一个内置函数STR_TO_DATE,可以将各种格式的字符串转换为DATE或DATETIME数据类型。
STR_TO_DATE
DATE
因此,作为替代,您也可以DATETIME通过调用该函数来指定a的值,如下所示:
STR_TO_DATE('12/21/2012 1:13:58 PM','%m/%d/%Y %h:%i:%s %p')
因此,INSERT如果您的VALUES列表如下所示,则可以让MySQL在语句中为您进行转换:
INSERT
VALUES
... VALUES ('@stockID', STR_TO_DATE('@dateUpdated','%m/%d/%Y %h:%i:%s %p');
(我注意到您在VALUES列表中的两个文字之间缺少必需的逗号。)
MySQL确实允许在DATETIME文字部分之间的分隔符中留出一定的余地,因此并非严格要求使用它们。
MySQL 5.5参考手册。