Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Пересечение интервалов времени / 5 сообщений из 5, страница 1 из 1
01.11.2016, 21:08
    #39339382
bivilbi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересечение интервалов времени
Добрый день. В бд есть таблица которая содержит
1. Неуникальный индификатор события
2. Дата и время начала
3. И завершения события.

Делаю
select * from table where actionid ='89931b' and not ('2016-11-01 07:20' < datebegin or '2016-11-01 07:00' > dateend) ;

Т.е. пытаюсь проверить пересекается ли мой интервал 2016-11-01 07:00-07:20 с записями.
Но запрос не работает. Находи 0 строк.
Где ошибка у меня?
Спасибо!
...
Рейтинг: 0 / 0
02.11.2016, 00:22
    #39339460
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересечение интервалов времени
bivilbi,

Может у вас нету искомых строк?

Postgres поддерживает интервалы , пользуйтесь ими.
...
Рейтинг: 0 / 0
02.11.2016, 12:24
    #39339786
Legushka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересечение интервалов времени
bivilbiДелаю
select * from table where actionid ='89931b' and not ('2016-11-01 07:20' < datebegin or '2016-11-01 07:00' > dateend) ;
Где ошибка у меня?

1. в вашей реализации что бы запрос вернул чтото помимо прочих условий, надо что бы в скобках было false
select * from table where actionid ='89931b' and not (false) ;
2. что бы в скобках было false надо что бы одновременно два условия в OR дали false
3. смотрим когда '2016-11-01 07:20' < datebegin дает false, это когда datebegin >='2016-11-01 07:20'
4. смотрим когда '2016-11-01 07:00' > dateend дает false, это когда dateend <= '2016-11-01 07:00'
5. вы никогда не создадите запись (если все верно) которая закончится раньше чем начнется-)
...
Рейтинг: 0 / 0
02.11.2016, 12:29
    #39339795
Legushka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересечение интервалов времени
bivilbi, поменяйте or на and -)
...
Рейтинг: 0 / 0
04.11.2016, 08:20
    #39341331
bivilbi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересечение интервалов времени
Legushkabivilbi, поменяйте or на and -)
Спасибо большое!
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Пересечение интервалов времени / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]