Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySql不正确的日期时间值_Mysql_Datetime_Mariadb - Fatal编程技术网

MySql不正确的日期时间值

MySql不正确的日期时间值,mysql,datetime,mariadb,Mysql,Datetime,Mariadb,我知道可能有人问过这个问题,但我一辈子都搞不清楚我的datetime值到底出了什么问题,而mysql似乎并不喜欢这个问题 在我的情况下,我会在每个查询前添加“explain”,以查看explain计划的外观。这是在实际查询运行之前完成的。问题是mysql不喜欢解释中的日期格式,但常规查询运行良好 这是我收到的错误: SQL Error: 1292, SQLState: 22007 Incorrect datetime value: '11/19/2015 19:49:34.076' for c

我知道可能有人问过这个问题,但我一辈子都搞不清楚我的datetime值到底出了什么问题,而mysql似乎并不喜欢这个问题

在我的情况下,我会在每个查询前添加“explain”,以查看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'
explain delete from LoggableActivity,其中createdTime月/日/年不是(不重复)世界上最好的序列

年/月/日更好

试试这个:

explain 
select from LoggableActivity 
where createdTime<'2015-11-19 19:49:34.076'
解释
从LoggableActivity中选择

where createdTimeask from@payamsbr谢谢,我会在那里问。如果需要,你可以使用
STR\u TO\u DATE()
函数。虽然这可能是最好的方法,但似乎并不能解决我的问题。正如我提到的,常规查询(相同日期时间和所有)正在进行OK。一旦我将explain附加到查询中,它就会抱怨。我猜这与字符串转换和查询的执行有关。我不知道MySQL或Java的内部结构,但查询的解释前缀必须通过某种过滤器传递查询,这种更改会影响处理日期的方式。也许这是一个错误-我不能说。但是,如果您想要坚如磐石的查询,那么就不要在任何代码(不仅仅是sql)中使用mm/dd/yyyy。我熟悉的大多数原生java都使用iso标准的日期序列。请注意,mm/dd/yyyy只是世界人口的一小部分,因此ISO 8601等标准感谢您的帮助!事实上,这正是你提到的。用于创建解释查询字符串的算法中存在错误。将日期定为yyyy/mm/dd解决了问题。:)