У меня есть слой формы с атрибутом, содержащим 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.