您好我正在使用mysql between
函数比较两个日期。我的查询看起来像
select count(id) as total
from table
where user_id=111
and date_column BETWEEN DATE_SUB(NOW(), INTERVAL 1 DAY)
and NOW()
在此查询的部分内容中,BETWEEN upperdate and lowerdate
。它工作正常。但是我去了mysql文档https://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_between验证这个函数。它说它应该是
`BETWEEN LOWER AND UPPER`
当前我正在做反向并且工作正常但我只是想验证它是否是仪式并且它将导致将来出现问题以及任何隐藏的情况。
答案 0 :(得分:2)
它正在发挥作用。因为:
DATE_SUB(NOW(), INTERVAL 1 DAY) -- a day less than now is yesterday
低于
NOW() -- it is now, means today with current time
所以比较就像
between yes'day and today
有效
答案 1 :(得分:2)
BETWEEN DATE_SUB(NOW(), INTERVAL 1 DAY) and NOW()
换句话说,
BETWEEN yesterday AND today
所以它是
BETWEEN lower AND upper
难怪它正在工作:)