Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

is not null VS not is null. Мини холи-вар?   Найти похожие ветки 

 
AV ©   (2012-08-08 16:58) [0]

Почему надо "is not null" ?
Сначала вдалбливается, что null неприкасаем и только одну операцию поддерживает - "is"
where
Tab.Fld is null

not же - вообще логическая операция

все же правильно было бы определить на пустоту is null, а потом уже взять отрицание.

where
Tab.Fld not is null или Tab.Fld not(is null)

как считаете?


 
БарЛог ©   (2012-08-08 17:05) [1]

молодо-зелено :)


 
asail ©   (2012-08-08 17:08) [2]

Наверное, потому что на английском так правильнее... А SQL всегда позиционировался, как язык максимально приближенный к английскому.


 
AV ©   (2012-08-08 17:13) [3]


> БарЛог ©   (08.08.12 17:05) [1]
>
> молодо-зелено :)


старичёк, блин :)

опять столкнулся со странностью понятия null в Oracle
update t_ats_handler
set NAME_HANDLER = ""

ругается - Cannot update to null
Блин, где?! Где я написал в null поставить то..


> asail ©   (08.08.12 17:08) [2]


аа.. ну тогда ладно.. :)


 
Ega23 ©   (2012-08-08 17:14) [4]


> Сначала вдалбливается, что null неприкасаем и только одну
> операцию поддерживает - "is"

потому что если isn"t написать, то оно как кавычу воспримет и вообще. is not - правильнее.


 
asail ©   (2012-08-08 17:21) [5]


> AV ©   (08.08.12 17:13) [3]

> опять столкнулся со странностью понятия null в Oracle

Брось бяку! И переходи на православный IB (FB)... :)


 
БарЛог ©   (2012-08-08 17:25) [6]

> AV ©   (08.08.12 17:13) [3]
> старичёк, блин :)

старичОк ;)

Ну, кагбе, пора уже смириться с... неточностями жизни. Везде есть. И в программировании - тоже.


 
AV ©   (2012-08-08 17:30) [7]

ну-ка,
Надо иногда критически смотреть даже на 2+2=4


> старичОк ;)

старичЕк было проще написать, однако не поленился за Ё слазить. Спроста? :)


 
БарЛог ©   (2012-08-08 17:39) [8]

> AV ©   (08.08.12 17:30) [7]
> ну-ка,
> Надо иногда критически смотреть даже на 2+2=4

А смысл?

> старичЕк было проще написать, однако не поленился за Ё слазить.
> Спроста? :)

Ну эт смотря куда слазить :)


 
tesseract ©   (2012-08-08 17:45) [9]

Потому, что not is null - два оператора, а is not null - один.


 
Плохиш ©   (2012-08-08 20:34) [10]


>
> AV ©   (08.08.12 16:58) 
> Почему надо "is not null" ?
>

Есть большое подозрение, что так написано в документации.


 
Pavia ©   (2012-08-08 20:48) [11]

not(is null)

Вот смотри.
not is null
not это унарная операция с оперендом справа синтаксический анализ перегруппирует эту последовательность в not(is null)
А что такое (is null)
Анализатор может поступить 2 путями.
тут is записана как унарная операция, а так как она такой не является, то синтаксический анализатор по просту выдаст ошибку в лучшем случае в худшем просто до определит до 2 операндов.
Встает вопрос как определить к чему до определить?
Ответ очевиден доопределить как nul
(nul is nul) что всегда true.


 
Pavia ©   (2012-08-08 21:00) [12]

При создание лексического анализатора со скобками возникает ряд трудностей. Пришлось бы гародить костыли для исключения. Да и непонятно зачем правило ломать. Тут проще перегрузив not Null и пусть он возвращает not_null.


 
Игорь Шевченко ©   (2012-08-08 21:58) [13]


> опять столкнулся со странностью понятия null в Oracle
> update t_ats_handler
> set NAME_HANDLER = ""
>
> ругается - Cannot update to null
> Блин, где?! Где я написал в null поставить то..


http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements005.htm#i59110
http://docs.oracle.com/cd/E11882_01/server.112/e26088/ap_standard_sql003.htm#i7719
http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:5984520277372



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.175 c
2-1341126507
Pcrepair
2012-07-01 11:08
2013.03.22
ПОчему ДЕЛФИ без спроса создает-уничтожает TStringList?


15-1338660812
Knight
2012-06-02 22:13
2013.03.22
Как распечатывать текст программы для диплома?


15-1349555402
Юрий
2012-10-07 00:30
2013.03.22
С днем рождения ! 7 октября 2012 воскресенье


2-1347507525
turbo
2012-09-13 07:38
2013.03.22
Как перевести дату в нормальный формат?


2-1345377153
Gedimen
2012-08-19 15:52
2013.03.22
FastReport Помогите. Выделение строк по условию