Olá!
Por padrão campos de uma tabela de um banco de dados (DB) podem suportar valores nulos, ou seja, é opcional designar um valor para o campo.
Sendo que quando o campo está NULL (valor nulo), ele é tratado diferente dos outros campos que possuem valores, pois NULL é usado como um espaço reservado para valores desconhecidos ou não determinados.
Assim, é possível inserir ou atualizar registros do DB com a designação ou não de valor para os campos que aceitam valor nulo. Quando um registro é salvo com um campo sem valor, isto significa que o campo está NULL.
E ao realizar a pesquisa em uma tabela que retorne registros que possuam valores nulos, a representação do campo que estar nulo na maior parte dos DB é feita com espaços, conforme:
PESSOA | ||
CD_PESSOA | NOME | APELIDO |
1 | Felipe | FelipeB |
2 | Ana | |
3 | João | |
4 | Aline | AlineS |
5 | Maira | MairaD |
Como os campos nulos recebem um tratamento diferente dos demais campos que possuem valor, eles não podem ser testados com os operadores relacionais (<, >, =, <=, >=, <>). Para realizar uma consulta que verifique se o valor do registro a ser selecionado possui valor nulo ou não é necessário usar os operadores IS NULL ou IS NOT NULL.
- IS NULL
O operador IS NULL é usado quando a consulta no DB tem o objetivo de selecionar os registros que possuem valor nulo. Exemplo ao executar o SQL abaixo com este operador na tabela PESSOA:
SELECT NOME
, APELIDO
, APELIDO
FROM PESSOA
WHERE APELIDO IS NULL;
reposta_da_consulta | |
NOME | APELIDO |
Ana | |
João |
- IS NOT NULL
O operador IS NOT NULL é usado com o objetivo de selecionar registros de uma tabela que não possuam valor nulo, exemplo do SQL abaixo:
SELECT NOME
, APELIDO
, APELIDO
FROM PESSOA
WHERE APELIDO IS NOT NULL;
O resultado:
reposta_da_consulta | |
NOME | APELIDO |
Felipe | FelipeB |
Aline | AlineS |
Maira | MairaD |
Enfim, tenham atenção pois algumas interfaces/IDE utilizadas para manipular os dados dos DB, não representam o campo com valor nulo com espaço, assim caso tenha algum caractere "estranho" na resposta da sua consulta, verifique se o campo está com valor null.
Felipe Barbosa Ferreira
Até o próximo post!
Nenhum comentário:
Postar um comentário