mysql - 无法在数据库中添加日期

标签 mysql vb.net datetime

我尝试使用 MySqlCommand 将日期添加到数据库中,但日期添加不正确。让我解释。我得到的实际日期是这样的:

Dim book_datetime = Date.Now.ToString("yyyy-MM-dd HH:mm:ss")

如您所见,我以这种格式解析日期:yyyy-MM-dd HH:mm:ss 一切都运行良好,但是当我在数据库中执行插入时,我得到:

2015-12-15

而不是这个

2015-12-15 11:48:30

这是我执行插入的代码:

query = "INSERT INTO setting (book_datetime)
         VALUES(@book_datetimep)"

MySqlCommand = New MySqlCommand(query, dbCon)

MySqlCommand.Parameters.AddWithValue("@book_datetimep", book_datetime)

我的数据库book_datetime包含一个Date字段。怎么了?在我解析它之后,book_datetime 被正确填充,但是当它被插入到数据库中时,我得到另一种格式。我发现如果我将字段从 Date 更改为 Text 我会得到正确的格式,但为什么呢?

最佳答案

来自 MySQL 文档 here :

The DATE type is used for values with a date part but no time part. MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The supported range is '1000-01-01' to '9999-12-31'.

The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.

使用 DATETIME 作为字段类型而不是 DATE,并且日期的时间部分在插入时不会被截断。

关于mysql - 无法在数据库中添加日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34287269/

相关文章:

php - 如何查询所有的 Multi-Tenancy 数据库?

mysql - Matlab 和 MySQL 找不到合适的驱动程序

php - fatal error : Call to undefined function mysql_connect()

vb.net - 四舍五入到增量 2.5?

C# 无法从 'System.DateTime' 转换为 'object[]' methodinfo.invoke

php - 数据库变化检测

.net - 在 Intellisense 注释中显示空行

asp.net - ASP.NET 中的验证码

python - 当 x 轴为日期时,如何在 matplotlib 中的 xticks(使用 x 坐标)下方绘制文本?

java.time.format.DateTimeParseException : Text '2016-08-30T06:18:17:698-0600' could not be parsed at index 24