两列中的SQL日期范围查询(start_date和end_date)

时间:2017-08-01 23:05:21

标签: sql

我的表start_date和end_date中有两列,我的查询输入两个值input_start_date和input_end_date。

我想通过查询start_date和end_date将input_start_date中的数据发送到input_end_date。

我可以通过以下查询实现此目的:

    SELECT * FROM table-name where ( 
    (start_date >= input_start_date and end_date <= input_end_date) or
    (start_date <= input_start_date and end_date >= input_end_date) or
    (start_date >= input_start_date and start_date <=input_end_date) or
    (end_date >= input_start_date and end_date <= input_end_date)
);

有没有更好的方法呢?

1 个答案:

答案 0 :(得分:0)

SELECT column-names
  FROM table-name
 WHERE column-name BETWEEN value1 AND value2

这个是在一个日期之间

SELECT column-names
  FROM table-name
 WHERE start_date = input_start_date AND end_date = input_end_date
相关问题