反向范围之间的Mysql

时间:2014-03-17 07:15:27

标签: mysql between

您好我正在使用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`

当前我正在做反向并且工作正常但我只是想验证它是否是仪式并且它将导致将来出现问题以及任何隐藏的情况。

2 个答案:

答案 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

难怪它正在工作:)