Условие в поле «Две даты» с двумя параметрами даты - PullRequest
3 голосов
/ 28 сентября 2011

У меня есть поле ID двух полей даты в таблице с именами From_Date и To_Date.Я хочу выбрать эти даты с критериями даты.

ID From_Date   To_Date
1  2011-05-03  2011-05-28
2  2011-04-29  2011-05-10
3  2011-05-09  2011-05-20
4  2011-04-28  2011-05-09
5  2011-04-29  2011-05-19
6  2011-05-09  2011-05-09
7  2011-05-09  2011-05-09
8  2011-05-09  2011-05-09
9  2011-05-21  2011-05-21
10 2011-06-06  2011-06-06
11 2011-05-21  2011-05-28
12 2011-05-14  2011-05-28
13 2011-05-23  2011-05-24
14 2011-05-27  2011-05-27
15 2011-05-23  2011-05-24

Теперь я хочу два параметра для условия начальной и конечной даты, таких как

@StartDate = '05/01/2011'
@EndDate = '05/10/2011'

И я хочу вывод из этих параметров, когдакогда-либо массив дат между параметром startdate и enddate должен сравниваться с массивом дат между полем From_Date и полем To_Date

Вывод:

ID From_Date   To_Date
1  2011-05-03  2011-05-18
2  2011-04-29  2011-05-10
3  2011-05-09  2011-05-20
4  2011-04-28  2011-05-09
5  2011-04-29  2011-05-19
6  2011-05-09  2011-05-09
7  2011-05-09  2011-05-09
8  2011-05-09  2011-05-09

возможно ли это в одном запросе вместо использования триггера или функции

Ответы [ 2 ]

2 голосов
/ 28 сентября 2011

Если вы хотите получить все записи с From_Date или To_Date в диапазоне дат (@StartDate and @EndDate), тогда это простой запрос, например:

SELECT * FROM TableName
WHERE (From_Date BETWEEN @StartDate AND @EndDate) OR (To_Date BETWEEN @StartDate AND @EndDate);
1 голос
/ 28 сентября 2011
select *
from YourTable
where From_Date <= @EndDate and
      To_Date >= @StartDate

http://data.stackexchange.com/stackoverflow/q/113761/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...