>> select 'Ok' from rdb$database where 0 not in (null, 0)
>> подозреваю что неправильно разбирается строка:
>> вот! ЭТО БАГА !!! И притом понкретная ...
OL> SQL - это язык, который можно просто читать, не вдаваясь в
OL> углублённое изучение разбора AND/OR/NOT/XOR
Согласен, но -
(SKIP)
OL> в нашем замечательном журнале "А [EMAIL PROTECTED] его знает",
(SKIP)
OL> "Мамой кланусь
инфо, ИМХО, неправильная ....
A not in () - в переводе как раз не изначает дословно
'там () всё не равно "A" !'
, а как раз наоборот -
'"A" не равно ничему в () ?'
разница едва ошутима, но ... на практике это означает
что не надо искать "правду жизни во всём ..." если
что-то нас удовлетворяет - и достаточно ...
Отходя от лирики - это, грубо говоря отсутствие
CompleteBooleanEvaluation :) что по умолчанию !НЕ!
делается в разборе
select 'OK' from rdb$database where not ((0 = null) or (0 = 1))
, а вот при IN куда логичнее было-бы
select 'OK' from rdb$database where (0 <> null) or (0 <> 1)
И если это "придусмотренный" глюк именно в стандарте, то тот мужик
который придумал стандарт явно не был эвреем ... :)
PS: Зарание сорри, я не антисемит, просто мне нравится (особенно в
данном случае) привычка эвреев отвечать вопросом на вопрос ... :)
С уважением,
Константин Григорьевич.
===============