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'