MySQL:BETWEEN ..如何检查范围?

时间:2013-03-03 18:42:06

标签: mysql range between

我需要针对以下情况编写查询:

3列:“box”,“in”,“out”(框是整数,in和out是日期)

我需要一些东西来测试,如果从“进入”日期到“出去”日期(这些日期之间的时间段),已经给出了某个盒子ID号。

我想做类似的事情:

SELECT COUNT(*) FROM `tbl` WHERE `box` = '#' AND ***period*** BETWEEN 'date1' AND 'date2'

(我知道BETWEEN不会以这种方式工作(link),但这只是为了给你一个想法...)

期间 =我试图在数据库中注册的新日期

所以,如果查询返回“0”,我知道我可以在这些日期分配这个方框#,如果不是,我知道我不能。自上周以来我就被困在这里!! X(

1 个答案:

答案 0 :(得分:0)

我想你要么:

SELECT COUNT(*) FROM tbl WHERE box = '#' AND
    `in` =< 'date1' AND out >= 'date1'
    OR `in` =< 'date2' AND out >= 'date2'

SELECT ... AND
    period BETWEEN `in` AND out