Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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 日期SQL查询无法按预期工作_Mysql - Fatal编程技术网

Mysql 日期SQL查询无法按预期工作

Mysql 日期SQL查询无法按预期工作,mysql,Mysql,我有以下疑问: SELECT * FROM incomings WHERE date >= '2011-04-01%' AND date <= '2011-04-29%' 它显示了从01-04到28-04的结果。这可能是一个奇怪的问题,但我认为它也应该显示29-04的结果,对吗 怎么了?您不需要前导%,没有小时的日期被解释为午夜或给定日期的最开始。您的语法很奇怪。该查询通常写为: SELECT * FROM incomings WHERE date >= '2011-04-0

我有以下疑问:

SELECT * FROM incomings WHERE date >= '2011-04-01%' AND date <= '2011-04-29%'
它显示了从01-04到28-04的结果。这可能是一个奇怪的问题,但我认为它也应该显示29-04的结果,对吗


怎么了?

您不需要前导%,没有小时的日期被解释为午夜或给定日期的最开始。

您的语法很奇怪。该查询通常写为:

SELECT * FROM incomings WHERE date >= '2011-04-01' AND date <= '2011-04-29'

除了使日期无效外,此处%的用途是什么

如果日期类型为DATETIME,则:

'2011-04-29 00:00:00' is <= to '2011-04-29'
'2011-04-29 00:00:01' is not <= to '2011-04-29'

这不是引导。它是尾随的。据我所知,%唯一可以作为通配符的地方是and,这是一个字符串比较运算符。
'2011-04-29 00:00:00' is <= to '2011-04-29'
'2011-04-29 00:00:01' is not <= to '2011-04-29'