我试图使用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文档:
DATE类型用于有日期部分但没有时间部分的值。MySQL检索并显示"YYYY-MM-DD"格式的DATE值。这个支持的范围为"1000-01-01"到"9999-12-31"。
DATETIME类型用于同时包含日期和时间的值零件。MySQL检索并显示YYYY-MM-DD中的DATETIME值HH:MM:SS’格式。支持的范围为"1000-01-01 00:00:00"到’9999-12-31 23:59:59’。
使用DATETIME
而不是DATE
作为字段类型,插入时不会截断日期的时间部分。