Вниз
Скачать: CL | DM;

Oracle between   Найти похожие ветки 

← →
Genry_   (2013-04-26 07:43) [0]

Здравствуйте. Помогите пожалуйста составить запрос.
Есть записи у которых есть дата открытия и дата закрытия.
Пользователь указывает фильтр по периоду <дата с> и <дата по>
Нужно выбрать данные которые были открыты хотя бы один день в заданном периоде. В голову приходит только перебирать в курсоре каждый открытый день записи и сверять не лежит ли он между <дата с> и <дата по>. Подскажите как правильно это лучше сделать ? Спасибо.


← →
Ega23 ©   (2013-04-26 07:51) [1]

Select ... from ... where StartDate between ... and ...


← →
Genry_   (2013-04-26 08:05) [2]


> Ega23 ©   (26.04.13 07:51) [1]


Фильтр : 2001  по 2007
Дата записи: с 2000 по 2010

Он существовал в заданном периоде, но в таком запросе он не отразится.


← →
Ega23 ©   (2013-04-26 08:20) [3]

А, понял что тебе надо.

where startdate <= FilterEndDate and enddate >= FilterStartDate


← →
O'ShinW ©   (2013-04-26 08:20) [4]

where
StartDate between ... and ...
or EndDate between ... and ...


← →
O'ShinW ©   (2013-04-26 08:27) [5]


> StartDate between ... and ...
> or EndDate between ... and ...

да, ерунда

не попадут
where
StartDate < StartFilter
EndDate > EndFilter


← →
Genry_   (2013-04-26 08:29) [6]


> Ega23 ©   (26.04.13 08:20) [3]


Вроде то, что надо. Спасибо.


> O"ShinW ©   (26.04.13 08:20) [4]


Фильтр 2001 по 2007
Дата записи: с 2000 по 2010

Не отразится.


← →
O'ShinW ©   (2013-04-26 08:35) [7]

дык я ж сказал - ерунда
правильно в
> where startdate <= FilterEndDate and enddate >= FilterStartDate


← →
Ega23 ©   (2013-04-26 08:41) [8]


> Вроде то, что надо. Спасибо.


Незачто.


← →
Styx   (2013-04-26 21:51) [9]


> Вроде то, что надо. Спасибо.

Да где же - то, что надо?
Если взять запись с 2005 по 2010 и фильтр с 2001 по 2007 - отразится?


← →
O'ShinW ©   (2013-04-26 23:38) [10]

да
2005 <= 2007 и 2010 >= 2001

Проще понять отрицание
не пересекутся, если startdate(SD) > FilterEndDate(FED) или enddate(ED) < FilterStartDate(FSD)
http://www.fotolink.su/v.php?id=9b4991ccd63f2970b1bb5a5ec8c17ccf
соответственно, инвертировав, получим требуемое


← →
Styx   (2013-04-26 23:40) [11]

А, точно, sorry



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.005 c
6-1269002359
eu1bc
2010-03-19 15:39
2013.10.06
Компоненты TNMMsg и TNMMsgSer


15-1366947804
Genry_
2013-04-26 07:43
2013.10.06
Oracle between


2-1358414836
O'ShinW
2013-01-17 13:27
2013.10.06
Моргает ListView.(D7)


15-1365965231
ProgRAMmer Dimonych
2013-04-14 22:47
2013.10.06
Парсинг PHP-кода


15-1366649723
Rouse_
2013-04-22 20:55
2013.10.06
Нужен третейский судья :)




   Наверх