一尘不染

MySQL数据库的正确DateTime格式是什么?

sql

我正在使用以下SQL字符串将此DateTime数据插入'12/21/2012 1:13:58 PM'到我的MySQL数据库中:

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数据库的正确格式/值是什么?


阅读 850

收藏
2021-03-10

共1个答案

一尘不染

问:DATETIME MySQL语句中文字的正确格式/值是什么?

答: 在MySQL中,DATETIME文字的标准格式为:

 'YYYY-MM-DD HH:MI:SS'

时间部分为24小时制(即,小时数字以00到23之间的值形式提供)。

MySQL提供了一个内置函数STR_TO_DATE,可以将各种格式的字符串转换为DATEDATETIME数据类型。

因此,作为替代,您也可以DATETIME通过调用该函数来指定a的值,如下所示:

STR_TO_DATE('12/21/2012 1:13:58 PM','%m/%d/%Y %h:%i:%s %p')

因此,INSERT如果您的VALUES列表如下所示,则可以让MySQL在语句中为您进行转换:

... VALUES ('@stockID', STR_TO_DATE('@dateUpdated','%m/%d/%Y %h:%i:%s %p');

(我注意到您在VALUES列表中的两个文字之间缺少必需的逗号。)


MySQL确实允许在DATETIME文字部分之间的分隔符中留出一定的余地,因此并非严格要求使用它们。

MySQL 5.5参考手册。

2021-03-10