Tecnologia > Ferramentas de Apoio > Linguagem SQL Senior 2 > O Valor NULL

O Valor NULL

O valor NULL serve para indicar que o valor da coluna ou da expressão não foi informado, pois significa ausência de valor. Esta definição de NULL é uma convenção adotada pela maioria dos bancos de dados.

As comparações do valor NULL não retornam TRUE:

Por convenção, o valor de todas as expressões acima é UNKNOWN (desconhecido). Assim, algumas expressões que contém comparações com NULL, podem retornar TRUE, FALSE, ou UNKNOWN:

Expressão Reduzindo para TRUE, FALSE e UNKNOWN Resultado booleano final
(1=1) AND (1=NULL) TRUE AND UNKNOWN UNKNOWN
(1=0) AND (NULL=NULL) FALSE AND UNKNOWN FALSE
(1=1) OR (NULL=NULL) TRUE OR UNKNOWN TRUE
(1=0) OR (1=NULL) FALSE OR UNKNOWN UNKNOWN
NOT (NULL=NULL) NOT UNKNOWN UNKNOWN
NOT (NULL<>NULL) NOT UNKNOWN UNKNOWN
(NULL = NULL) OR NOT (1=0) UNKNOWN OR NOT FALSE,

UNKNOWN OR TRUE

TRUE

A questão mais comum envolvendo o valor NULL é o fato de que NULL=NULL não retorna TRUE. Isto causa confusão para algumas pessoas, e outras se perguntam se isto é mesmo necessário. Observe que o NULL significa ausência de valor, neste caso, NULL=NULL retorna FALSE, pois não há qualquer valor sendo. Esta convenção se mostra interessante em muitos casos.

Nota

Em consultas, na cláusula WHERE, caso não haja mais expressão para ser avaliada e o valor final obtido com uma linha seja UNKNOWN, esta linha não será retornada.

Este artigo ajudou você?