Ho un livello forma con un attributo che contiene NULL
valori a cui vorrei applicare un filtro per valori diversi da NULL
.
Utilizzando la GUI disponibile per tale costruzione di query, si proverebbe intuitivamente
"obj_art" != NULL
Il che significa 'dammi tutte le funzionalità con attributo "obj_art" diverso da NULL
' (questi contano sicuramente più di 0). Testare questa query produce uno strano risultato dal mio punto di vista:
Quindi quello che ho imparato finora è che posso farlo usando
"obj_art" IS NOT NULL
La domanda è: qual è la differenza tra != NULL
e IS NOT NULL
?
!=
non significa "non è"; significa "non è uguale a". IS NOT
significa "non è", quindi penso che sia perfettamente intuitivo :)
NULL
non è un valore, direi che è intuitivo provare a utilizzare =
o !=
poiché è così che si valuta qualsiasi altro valore. Non è fino a quando non sai che NULL
non è un valore che è davvero intuitivo da usare IS NOT
piuttosto che !=
. Molti non sono consapevoli di ciò che NULL
è veramente.
NULL
è presente nell'elenco dei valori (cp. Sopra), e quindi trattato come un valore "normale". E non c'è nessun pulsante IS NULL
o mi è mancato tale ?! Quindi, quando si digita tale query e con la conoscenza, questo NULL
deve essere trattato in un modo speciale che potremmo discutere sull'intuizione, ma per sicurezza non nel contesto di QUESTA GUI.