MySql日期时间值不正确

时间:2016-11-21 22:04:21

标签: mysql datetime mariadb

我知道这个问题可能已经被问过了,但我不知道我的生活中弄清楚mysql似乎不喜欢我的日期时间值有什么问题。

在我的情况下,我在每个查询前面附加'explain'来查看解释计划的样子。这是在运行实际查询之前完成的。问题是mysql不喜欢解释中的日期格式,但常规查询运行正常。

这是我收到的错误:

SQL Error: 1292, SQLState: 22007 
Incorrect datetime value: '11/19/2015 19:49:34.076' for column    'createdTime' at row 1

查询是:

explain delete from LoggableActivity where createdTime<'11/19/2015 19:49:34.076'

这种格式有什么问题?它对我来说很好...... 为什么只有附加解释的查询不起作用?

更多信息: 我在java中使用实体管理器来创建和执行查询,生成的日期是Java的“新日期(毫秒)”的结果。

由于

1 个答案:

答案 0 :(得分:2)

MONTH / DAY / YEAR不是(重复不是)世界上最好的序列

年/月/日好多了

试试这个:

explain 
select from LoggableActivity 
where createdTime<'2015-11-19 19:49:34.076'

在维基百科上考虑这篇文章 https://en.wikipedia.org/wiki/Date_format_by_country

看看世界上有多少人使用“大端”(yyyy-mm-dd)或“小端”(dd-mm-yyyy)日期格式。将日期字符串视为“大端”更为明智。特别是按年开始日期字符串可以减少与日期数小于13的日期混淆。