Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.066 c
15-1340220153
Дмитрий С
2012-06-20 23:22
2013.03.22
Посоветуйте алгоритм контрольной цифры.


11-1182871715
Robt
2007-06-26 19:28
2013.03.22
снова TrackBar


2-1334141822
Chuck Bass
2012-04-11 14:57
2013.03.22
framerect пунктиром


15-1346063472
>|<
2012-08-27 14:31
2013.03.22
Локализация утечки памяти


2-1328430400
FIL-23
2012-02-05 12:26
2013.03.22
переменная типа memo





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский