powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Логика where not
4 сообщений из 4, страница 1 из 1
Логика where not
    #32181026
Dimets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, кто может подскать почему я получаю разные данные при помощи (как мне кажется) эквивалетных запросов:

1. ...where not (dt_from > trunc(sysdate) or
dt_to < trunc(sysdate-5))

2. ...where (dt_from < trunc(sysdate) or
dt_to > trunc(sysdate-5))

Или 1 и 2 не равнозначны?
...
Рейтинг: 0 / 0
Логика where not
    #32181036
va_kochnev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во втором случае замени or на and
...
Рейтинг: 0 / 0
Логика where not
    #32181051
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно не равнозначны, во первых тогда не OR нужен а AND и и противоположностю "больше"(>) является не "меньше" а "меньше или равно"(<=)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> create table test (x int);

Table created.

SQL> begin
   2   for i in  1 .. 10  loop
   3   insert into test values(i);
   4   end loop;
   5   end;
   6   /

PL/SQL procedure successfully completed.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> select * from test where not (x >  6  or x <  2 );

         X
 ----------
 
          2 
          3 
          4 
          5 
          6 


неправильно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SQL> select * from test where (x <  6  or x >  2 );

         X
 ----------
 
          1 
          2 
          3 
          4 
          5 
          6 
          7 
          8 
          9 
         10 


правильно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> select * from test where (x <=  6  and x >=  2 );

         X
 ----------
 
          2 
          3 
          4 
          5 
          6 
...
Рейтинг: 0 / 0
Логика where not
    #32181089
raven13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ваще булева алгебра тебе поможет :-)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Логика where not
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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