只是为了了解MySQL的基本知识:而以下内容有效:
SELECT DATE('2010-01-01');
以下没有:
SELECT DATETIME('2010-01-01 12:34:56');
它提出了以下内容:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('2010-01-01 12:34:56')' at line 1
我想知道为什么会这样,因为DATE
和DATETIME
的文档分别如下:
MySQL检索并显示"YYYY-MM-DD"格式的
DATE
值。MySQL检索并显示"YYYY-MM-DD HH:MM:SS"格式的
DATETIME
值。
我知道我不需要将字符串"强制转换"到DATETIME
中以便将其插入表中。我只是想知道为什么这不一致。
mysql不提供日期时间功能。
它所提供的只是TIMESTAMP()
SELECT TIMESTAMP('2010-01-01 12:34:56');
小提琴
此外,DATE('2003-12-31 01:02:03')
将只返回其中的日期部分。
使用TIMESTAMP('2003-12-31 12:10:05')
或
如果要将字符串转换为DateTime,请选择STR_TO_DATE('5/15/2012 8:06:26 AM', '%c/%e/%Y %r')
。