Il solito contratto è:
NULLsignifica "nessuna informazione disponibile".''significa "ci sono informazioni disponibili. È solo vuoto."
Al di là di questo punto c'è molta discussione filosofica dall'invenzione di NULL in qualsiasi lingua, non solo SQL.
L'unico punto tecnico qui è:In PostgreSQL NULL può essere memorizzato in modo più efficiente di una stringa di lunghezza zero. Se questo è davvero importante nel tuo caso... non possiamo saperlo.