powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Логические операции
12 сообщений из 12, страница 1 из 1
Логические операции
    #32067916
Mich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi all!
Пишу в триггере IF (:NEW.CH_BEGIN<>NULL) XOR (:NEW.CH_END<>NULL) и далее по тексту... При сохранении получаю ошибку. :( Помнится надо было разобраться в каком-то скриптовом языке, и я с изумлением обнаружил отсутствие XOR. Вообще. Неужели кошмар возвращается...
P.S. Меняю XOR на AND - все нормально, т.е. конструкция записана верно.
...
Рейтинг: 0 / 0
Логические операции
    #32067946
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно, xor не поддержвается. Можно выразить его через or и and.

Странно, что конструкция "<> null" работает. По идее правильно "is not null"
...
Рейтинг: 0 / 0
Логические операции
    #32067978
Mich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, действительно is not null лучше. Однако и "<> null" работает.
А такое крохоборство, как нереализованный XOR заставляет задуматься, сколько еще грабель припасено для программиста у Oracle...
Спасибо за ответ!
________
...
Рейтинг: 0 / 0
Логические операции
    #32067994
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пиши тогда процедуру на Java, передавай туда параметры и делай с ними всё что хочешь. Я думаю Oracle правильно сделали что не стали нагружать Pl/SQL новыми конструкиями, а просто внедрили в базу Java.
...
Рейтинг: 0 / 0
Логические операции
    #32068047
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по поводу ? <> null
работает но следует учесть что:

(null <> null) = TRUE
...
Рейтинг: 0 / 0
Логические операции
    #32068051
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильное замечание
...
Рейтинг: 0 / 0
Логические операции
    #32068114
Славик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прогнали!!!
null<>null ->FALSE
null=null ->FALSE
null is null ->TRUE
Код: plaintext
1.
2.
3.
4.
begin
if null<>null then dbms_output.PUT_LINE('TRUE'); else  dbms_output.PUT_LINE('FALSE'); end if;
if null=null then dbms_output.PUT_LINE('TRUE'); else  dbms_output.PUT_LINE('FALSE'); end if;
if null is null then dbms_output.PUT_LINE('TRUE'); else  dbms_output.PUT_LINE('FALSE'); end if;
end;
...
Рейтинг: 0 / 0
Логические операции
    #32068160
Animal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не кажется ли Вам, господа, что

null<>null ->NULL
null=null ->NULL
null is null ->TRUE
...
Рейтинг: 0 / 0
Логические операции
    #32068163
Animal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте

if null<>null then dbms_output.PUT_LINE('TRUE'); else if not(null<>null) then dbms_output.PUT_LINE('False'); else dbms_output.PUT_LINE('NULL'); end if; end if;
...
Рейтинг: 0 / 0
Логические операции
    #32068202
Славик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ноги ростут отсюда:
Код: plaintext
1.
2.
3.
begin
if null then dbms_output.PUT_LINE('TRUE'); else  dbms_output.PUT_LINE('FALSE'); end if;
if not(null) then dbms_output.PUT_LINE('TRUE'); else  dbms_output.PUT_LINE('FALSE'); end if;
end;

Код: plaintext
1.
FALSE
FALSE
...
Рейтинг: 0 / 0
Логические операции
    #32068214
Animal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ноги растут иммено из определения "NULL- не известно что"
соответственно "не известно что" не может быть равно или не равно "не известно что", потому что нет ни какой гарантии, что эти значения совпадут или не совпадут.
...
Рейтинг: 0 / 0
Логические операции
    #32068588
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напиши обычную PL/SQL функцию, которая считает XOR используя элементарные функции.
Ведь по определению
Код: plaintext
A xor B = (A and (not B)) or ((not A) and B)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Логические операции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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