c# - MySQL 数据库的正确日期时间格式是什么?

标签 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');

我收到此错误消息:

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,可以将各种格式的字符串转换为DATEDATETIME 数据类型。

因此,作为替代方案,您还可以通过调用该函数来指定 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 字面量部分之间的分隔符中有一些纬度,因此它们不是严格要求的。

MySQL 5.5 Reference Manual.

关于c# - MySQL 数据库的正确日期时间格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13984638/

相关文章:

c# - 在自定义 TextBox 上添加自定义 OnTextChange 事件处理程序

c# - Windows 10 移动应用程序扩展执行不断被拒绝

java - JBoss 7.0.1 xa 数据源异常。 javax.transaction.xa.XAException

php - 执行必要步骤后未配置 Lumen 数据库 []

sql - 编写此查询以将小时添加到日期的最简洁方法

c# - Asp.net 用户登录计数和 LastLogin

c# - 如何使用稳定排序对 DataGrid 进行排序?

c# - 将 C# 字符串数组转换为字典

MySQL:快速查询以检查状态是否已设置

sql - 在单个查询中计算空值和非空值