Comparações com NULLs no SQL
ANSI-92 SQL exige que comparações comNULL
avalie como "falsy", por exemplo:
SELECT * FROM table WHERE field = NULL
SELECT * FROM table WHERE field != NULL
Vaiambo não retorna nenhuma linha porqueNULL
não pode ser comparado assim. Em vez disso, os predicadosIS NULL
eIS NOT NULL
deve ser usad
SELECT * FROM table WHERE field IS NULL
SELECT * FROM table WHERE field IS NOT NULL
A pesquisa me mostrou que o Oracle1, PostgreSQL, MySQL e SQLite suportam a sintaxe ANSI. Adicione a essa lista o DB2 e o Firebir
Ao lado do SQL Server comANSI_NULLS
desativado, que outro RDBMS suporta a sintaxe não-ANSI?
1 Toda a cadeia vazia =NULL
apesar da bagunç