Documenti FirebirdGuida sull'uso di NULL nel linguaggio SQL di Firebird → Come controllare se ci sono NULL
Firebird home Firebird home Indietro: NULL negli statement ifPartenza: Documenti FirebirdRisali: Guida sull'uso di NULL nel linguaggio SQL di FirebirdAvanti: Assegnare NULL ad un campo o ad una variabile

Come controllare se ci sono NULL

Vista la confusione che NULL può provocare, spesso può essere utile voler sapere se qualcosa è NULL prima di usarlo in una espressione. Ad alcuni il test più ovvio potrebbe sembrare

if (A = NULL) then...

ed infatti ci sono gestioni di basi di dati che supportano tale sintassi per determinare la nullità di una variabile. Purtroppo non lo permette (coerentemente) lo standard SQL, e neppure Firebird. Nelle versioni prima della 2.0 questa sintassi è perfino illegale. Dalla 2.0 in poi viene permessa, ma il test riporta sempre NULL, indipendentemente da quale che sia il valore o lo stato della variabile A. È pertanto un test inutile; quello di cui si ha bisogno è un risultato che sia chiaramente o vero o falso (cioè true oppure false).

Il modo corretto per controllare se una variaile è NULL si fa così:

...is null / ...is not null

Questi test riportano sempre true oppure false, senza incertezze. Ecco alcuni esempi:

Si può dire che mentre “=” (quando usato come operatore di uguagianza) può solo confrontare valori, “is” controlla uno stato.

Indietro: NULL negli statement ifPartenza: Documenti FirebirdRisali: Guida sull'uso di NULL nel linguaggio SQL di FirebirdAvanti: Assegnare NULL ad un campo o ad una variabile
Documenti FirebirdGuida sull'uso di NULL nel linguaggio SQL di Firebird → Come controllare se ci sono NULL