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

Joh*_*upe 2 c# mysql sql insert

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

String Query = "INSERT INTO `restaurantdb`.`stocksdb` 
                  (`stock_ID`,`stock_dateUpdated`) 
                  VALUES ('@stockID' '@dateUpdated');
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

Incorrect datetime value: '12/21/2012 1:13:58 PM' for column 'stock_dateUpdated' at row 1
Run Code Online (Sandbox Code Playgroud)

那么dateTime输入MySQL数据库的正确格式/值是什么?

spe*_*593 7

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

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

 'YYYY-MM-DD HH:MI:SS'
Run Code Online (Sandbox Code Playgroud)

将时间分量作为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')
Run Code Online (Sandbox Code Playgroud)

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

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

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


MySQL确实允许在DATETIME文字部分之间的分隔符中有一些宽容度,因此它们不是严格要求的.

MySQL 5.5参考手册.