如何在日期之间获取数据

时间:2016-09-29 11:40:21

标签: sql

我有以下数据表:

id  startdate   finishdate
4   2015-09-17  2016-09-28
5   2016-08-17  2016-09-12

现在我需要这个日期的数据 - 2016-02-02

例如,如果我输入此日期2016-02-02,则只会显示第一个数据。

现在,如果我输入日期 - 2016-08-10,那么它将显示两个数据。

我尝试过:

  select * from customer where startdate >='2016-02-02' or finishdate<='2016-02-02'

但它不起作用。

我怎样才能实现这一目标?

1 个答案:

答案 0 :(得分:6)

你的逻辑只是倒退:

select c.*
from customer c
where startdate <= '2016-02-02' and finishdate >= '2016-02-02';

我建议您不要将between用于日期。 Here是Aaron Bertrand关于为什么这是个坏主意的一个非常好的解释。