Atenção: por essa edição ser muito antiga não há arquivo PDF para download.
Os artigos disponíveis somente através do formato HTML.
Firebird
Saiba como trabalhar corretamente com o NULL no Firebird
Repetidas vezes, perguntas de suporte surgem nas listas de e-mail do Firebird relatando que “coisas estranhas” acontecem com NULLs. O conceito parece difícil de captar, em parte, possivelmente, por causa do nome, que sugere aparentemente um “nada”, não causará nenhum problema, caso o acrescentemos a um número ou o adicionarmos ao final de uma string.
Na verdade, a execução de tais operações fará com que o resultado final seja um NULL. Este artigo mostrará o comportamento do NULL no Firebird, aponta as armadilhas mais comuns e mostra como lidar com segurança, com expressões que contêm NULL ou podem resultar
Observação: Algumas sentenças e exemplos neste artigo, foram extraídos do Firebird Quick Start Guide, publicado primeiramente por IBPhoenix e que atualmente faz parte do projeto Firebird.
O que é NULL?
No SQL, NULL não é um valor, é, porém, o estado que indica que o valor de um item é desconhecido ou inexistente. Não é o valor zero, o espaço ou “uma string vazia”, e não se comporta como nenhum desses valores.
Poucas coisas no SQL levam a maior confusão do que o NULL, no entanto, seu funcionamento não deverá ser difícil de entender enquanto adotamos essa simples definição: NULL significa desconhecido. Permita-me repetir:
NULL significa DESCONHECIDO
Tendo essa frase em mente no restante do artigo, a maior parte dos resultados aparentemente ilógicos obtidos com o uso do NULL, irão se explicar praticamente por si mesmo.
NULL em expressões
Assim como muitos, já descobrimos que o NULL é contagioso: seja utilizado em um numérico, em string ou em expressões data/hora, o resultado sempre será NULL. Utilizado em uma expressão booleana, o resultado depende do tipo da operação e dos outros valores implicados.
Note que
ClubeDelphi PLUS!
Acesse agora mesmo o Portal do Assinante ClubeDelphi e assista a uma vídeo-aula de Paulo Quicoli que mostra como instalar o Firebird 2.0 juntamente com a versão antigo (Firebird 1.5). www.devmedia.com.br/articles/viewcomp.asp?comp=3840
Expressões que retornam NULL
As expressões da Listagem 1 sempre retornam NULL:
Listagem 1. Expressões que sempre retornam NULL
1 + 2 + 3 + NULL
'Home ' || 'sweet ' || NULL
MyField = NULL
MyField <> NULL
NULL = NULL
not (NULL)
Se houver alguma dificuldade para entender o porquê, basta lembrar que NULL significa “desconhecido”. Vejamos também a Tabela 1, onde foram fornecidas explicações caso a caso.
Se A e B são NULL |
Será |
Por que |
... |