从日期范围中选择一行(BETWEEN语句对面)

时间:2013-01-25 11:00:54

标签: mysql

我想,我需要与mysql的BETWEEN功能相反。 我有一个给定的日期(例如'2013-09-14')和一个填充了日期范围的mysql表:

date_from  | date_to    | someotherdata  
2013-08-07 | 2013-08-29 | ...  
2013-09-13 | 2013-09-16 | ...  
2013-09-21 | 2013-09-27 | ...  

(这是给定的,我不能改变结构)

我想选择所有的托管,其中我的给定日期介于date_from和date_to之间,但这不适用于BETWEEN :(

有什么好主意吗?

2 个答案:

答案 0 :(得分:2)

你可以这样使用between

select * from your_table
where '2013-01-25' between date_from and date_to 

SQLFiddle demo

between之前不需要列名。它也可以是一个静态日期。

答案 1 :(得分:0)

怎么样:

select * 
  from your_table
 where not '2013-09-14' between date_from and date_to;