ANSI-92 mandati SQL che il confronto con NULL
restituiscono "falsy," ad esempio:confronti con NULL in SQL
SELECT * FROM table WHERE field = NULL
SELECT * FROM table WHERE field != NULL
Will sia restituiscono alcuna riga perché NULL
non può essere paragonata come quello. Invece, i predicati IS NULL
e IS NOT NULL
devono essere utilizzati al posto:
SELECT * FROM table WHERE field IS NULL
SELECT * FROM table WHERE field IS NOT NULL
ricerca mi ha dimostrato che Oracle , PostgreSQL, MySQL e SQLite tutte supportano la sintassi ANSI. Aggiungi a tale elenco DB2 e Firebird.
Oltre a SQL Server con ANSI_NULLS
disattivato, quali altri RDBMS supportano la sintassi non ANSI?
Tutta la stringa vuota = NULL
pasticcio nonostante.
Oracle (11g qui) fa esattamente come descrivi in entrambi i casi. –