Firebird Documentation Index → Guida sull'uso di NULL nel linguaggio SQL di Firebird
Firebird Home Firebird Home Firebird Documentation IndexAvanti: Come Firebird supporta il NULL nel linguaggio SQL

Guida sull'uso di NULL nel linguaggio SQL di Firebird

Uso e malintesi su NULL in Firebird

Paul Vinkenoog

Umberto Masotti

Traduzione in italiano

31 marzo 2007 - Versione italiana 1.0.1-it


Sommario

Che cosa è NULL?
Come Firebird supporta il NULL nel linguaggio SQL
NULL nelle espressioni
Funzioni interne ed altre direttive
I predicati
Ricerche
Gli ordinamenti
Le funzioni di aggregazione
Frasi condizionali e cicliche
Chiavi ed indici univoci
Vincoli di controllo (CHECK constraints)
SELECT DISTINCT
Funzioni definite dall'utente (UDF)
Convertire da e verso NULL
Modifica delle tabelle piene di dati
Controllare per NULL e per l'eguaglianza nella pratica
Sommario
A. Problemi relativi a NULL in Firebird
Problemi che fanno cadere il server
Altri problemi
B. Cronologia
C. Licenza d'uso
Indice alfabetico

Che cosa è NULL?

Un giorno sì e l'altro pure, nella mailing list di supporto di Firebird, vengono fatte domande relative a «strane cose» che succedono con i NULL in Firebird SQL. Il concetto sembra difficile da comprendere, in parte a causa del nome che suggerisce «nulla» o «niente», e che quindi apparentemente non dovrebbe creare problemi se aggiunto ad un numero o concatenato ad una stringa. In realtà, fare quelle cose da' come risultato dell'espressione NULL.

Questo articolo approfondisce il funzionamento di NULL in Firebird SQL, evidenziando alcuni errori comuni e mostra come si possono gestire correttamente le espressioni che contengono NULL o che possono valere NULL.

Per avere un riferimento veloce, giusto per rinfrescarsi la memoria, si può saltare a piè pari direttamente al riassunto (che è davvero sintetico e stringato).

Allora, che cosa è?

In SQL, NULL non è un valore. È uno stato che indica che il valore di un oggetto è sconosciuto o inesistente. Non è zero, nè il carattere spazio e neppure una stringa vuota e, sopratutto, non si comporta come nessuno dei tre. Poche cose creano altrettanta confusione in SQL come il NULL, eppure il suo funzionamento non dovrebbe essere così difficile da capire dal momento che basta fissarsi su questa semplice definizione: NULL significa sconosciuto.

Lo ripeto:

NULL significa SCONOSCIUTO

Questo fatto va tenuto bene in mente leggendo il resto dell'articolo, così molti dei comportamenti apparentemente illogici che si hanno con NULL immediatamente si spiegheranno in modo automatico.

Nota

Alcune parti ed esempi di questa guida sono state prese dalla Firebird Quick Start Guide, pubblicata originariamente dalla IBPhoenix, ora parte del progetto Firebird.

Firebird Documentation IndexAvanti: Come Firebird supporta il NULL nel linguaggio SQL
Firebird Documentation Index → Guida sull'uso di NULL nel linguaggio SQL di Firebird