Mam warstwę kształtu z atrybutem zawierającym NULLwartości, do których chciałbym zastosować filtr dla wartości innych niż NULL.
Korzystając z dostępnych GUI do takiej konstrukcji zapytań, można by intuicyjnie spróbować
"obj_art" != NULL
Co oznacza, że „daj mi wszystkie funkcje z atrybutem„ obj_art ”innym niż NULL” (te liczą zdecydowanie więcej niż 0). Testowanie tego zapytania daje dziwny wynik z mojego punktu widzenia:
Do tej pory nauczyłem się, że mogę to osiągnąć za pomocą
"obj_art" IS NOT NULL
Pytanie brzmi, jaka jest różnica między != NULLi IS NOT NULL?
!=nie oznacza „nie jest”; oznacza to „nie równa się”. IS NOTznaczy „nie jest”, więc myślę, że jest to całkowicie intuicyjne :)
NULLnie jest to wartość, powiedziałbym, że jest intuicyjne w użyciu =lub !=w taki sposób oceniasz każdą inną wartość. To nie jest aż wiesz, że NULLnie jest to wartość, która jest bardzo intuicyjny w obsłudze IS NOTniż !=. Wielu nie zdaje sobie sprawy z tego, czym NULLnaprawdę jest.
NULLznajduje się na liście wartości (patrz powyżej), a zatem jest traktowany jako „normalna” wartość. I nie ma przycisku IS NULL, a może tak mi brakowało ?! Tak więc, po prostu wpisując takie zapytanie i ze świadomością, NULLnależy to potraktować w specjalny sposób, możemy omówić intuicję, ale dla pewności nie w kontekście TEGO GUI.


