У меня есть слой формы с атрибутом, содержащим NULLзначения, к которым я хотел бы применить фильтр для значений, отличных от NULL.
Используя доступный графический интерфейс для такой конструкции запроса, можно интуитивно попробовать
"obj_art" != NULL
Что означает «дать мне все функции с атрибутом« obj_art », отличным от NULL» (это число определенно больше 0). Тестирование этого запроса дает странный результат с моей точки зрения:
Итак, что я узнал, так это то, что я могу достичь этого, используя
"obj_art" IS NOT NULL
Вопрос в том, в чем разница между != NULLи IS NOT NULL?
!=не означает «нет»; это означает «не равно». IS NOTозначает «нет», так что я думаю, что это совершенно интуитивно :)
NULLэто не является ценностью , я бы сказал , что это интуитивно , чтобы попытаться использовать =или !=как то , как вы оцениваете любое другое значение. Пока вы не узнаете, что NULLэто значение не является интуитивно понятным, IS NOTа не используется !=. Многие не знают, что такое на NULLсамом деле.
NULLесть в списке значений (см. Выше), и, следовательно, рассматривается как «нормальное» значение. И кнопки нет IS NULL, или я пропустил такую ?! Таким образом, когда мы просто набираем такой запрос со знанием дела, к этому NULLнужно относиться особым образом, мы могли бы обсудить интуицию, но, конечно, не в контексте ЭТОГО GUI.


