Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Сравнение диапазонов  [new]
Twil
Member

Откуда:
Сообщений: 13
Всем доброго времени суток.
Проблема следующая: в процедуру передаются значения: D1 (начало диапазона) и D2 (конец диапазона) для вставки в таблицу в соответствующие колонки. В таблице уже есть n-ное количество таких диапазонов, необходимо проверить, не пересекается ли наш диапазон D1 D2 с уже существующими в таблице диапазонами. Если пересечений нет, то добавлять диапазон в таблицу, в противном случае - сообщение об ошибке. С PL\SQL знаком мало, поэтому прошу помощи :(
26 мар 10, 06:13    [8535386]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение диапазонов  [new]
Добрый Э - Эх
Guest
Может чем поможет: тынц
26 мар 10, 07:07    [8535417]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение диапазонов  [new]
MaxiStyle
Member

Откуда:
Сообщений: 88
Ну если я правильно понял:
поиск пересечений

SELECT * FROM tab_interval i
WHERE
  :start BETWEEN i.date_start AND i.date_end
OR
  :end BETWEEN i.date_start AND i.date_end
OR
  i.date_start BETWEEN :start AND :end
OR
  i.date_end BETWEEN :start AND :date_end
26 мар 10, 09:10    [8535624]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение диапазонов  [new]
Elic
Member

Откуда:
Сообщений: 29976
MaxiStyle
поиск пересечений
start1 <= end2 and start2 <= end1
26 мар 10, 09:22    [8535690]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение диапазонов  [new]
Twil
Member

Откуда:
Сообщений: 13
Спасибо за советы. Воспользовался вариантом MaxiStyle.
30 мар 10, 10:29    [8551726]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение диапазонов  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116077
Twil
Спасибо за советы. Воспользовался вариантом MaxiStyle.


(C) При всем богатстве выбора.... :)

Мне вообще то все равно, но как бы сказать...вариант Elic лучше.
Кстати умение выбирать правильный вариант из предложенных
альтернатив - это тоже важный показатель , который надо
совершенствовать.
30 мар 10, 10:32    [8551749]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить