Resumo : neste tutorial você aprenderá como usar o SQLite IS NULL
e IS NOT NULL
os operadores para verificar se um valor é NULL ou não.
Introdução ao IS NULL
operador SQLite
NULL
é especial. Indica que uma informação é desconhecida ou não aplicável.
Por exemplo, algumas músicas podem não ter as informações do compositor porque não sabemos quem as escreveu.
Para armazenar esses compositores desconhecidos junto com as músicas em uma tabela do banco de dados, devemos usar NULL.
NULL não é igual a nada, nem mesmo ao número zero, a uma string vazia e assim por diante.
Especialmente, NULL não é igual a si mesmo. A seguinte expressão retorna 0:
NULL = NULL
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Isso ocorre porque duas informações desconhecidas não podem ser comparáveis.
Vamos ver a seguinte tracks
tabela do banco de dados de exemplo :
A instrução a seguir tenta encontrar faixas cujos compositores são NULL:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer = NULL;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Retorna uma linha vazia sem emitir nenhuma mensagem adicional.
Isso ocorre porque a expressão a seguir sempre é avaliada como falsa:
Composer = NULL
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Não é válido usar NULL desta forma.
Para verificar se um valor é NULL ou não, use o IS NULL
operador:
{ column | expression } IS NULL;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O IS NULL
operador retorna 1 se column
ou expression
for avaliado como NULL.
Para encontrar todas as faixas cujos compositores são desconhecidos, você usa o IS NULL
operador conforme mostrado na consulta a seguir:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer IS NULL
ORDER BY
Name;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Aqui está a saída parcial:
IS NOT NULL
Operador SQLite
O NOT
operador nega o IS NULL
operador da seguinte forma:
expression | column IS NOT NULL
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O IS NOT NULL
operador retorna 1 se expression
ou column
não for NULL e 0 se a expressão ou coluna for NULL.
O exemplo a seguir localiza tracks
cujos compositores não são NULL:
SELECT
Name,
Composer
FROM
tracks
WHERE
Composer IS NOT NULL
ORDER BY
Name;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Esta imagem ilustra a saída parcial:
Neste tutorial, você aprendeu como verificar se os valores em uma coluna ou expressão são NULL ou não usando os operadores IS NULL
e IS NOT NULL
.