我正在使用以下 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
那么输入 MySQL 数据库的 dateTime
的正确格式/值是什么?
最佳答案
问:MySQL 语句中 DATETIME
文字的正确格式/值是什么?
答:在 MySQL 中,DATETIME
字面量的标准格式是:
'YYYY-MM-DD HH:MI:SS'
时间部分为 24 小时制(即,小时数字以 00 到 23 之间的值形式提供)。
MySQL 提供了一个内置函数STR_TO_DATE
,可以将各种格式的字符串转换为DATE
或DATETIME
数据类型。
因此,作为替代方案,您还可以通过调用该函数来指定 DATETIME
的值,如下所示:
STR_TO_DATE('12/21/2012 1:13:58 PM','%m/%d/%Y %h:%i:%s %p')
因此,如果您的 VALUES
列表如下所示,您可以让 MySQL 在 INSERT
语句中为您进行转换:
... VALUES ('@stockID', STR_TO_DATE('@dateUpdated','%m/%d/%Y %h:%i:%s %p');
(我注意到您的 VALUES
列表中的两个文字之间缺少必需的逗号。)
MySQL 确实允许在 DATETIME
字面量部分之间的分隔符中有一些纬度,因此它们不是严格要求的。
关于c# - MySQL 数据库的正确日期时间格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13984638/