Fórum Filtrar campo diferente de nulo em SQL #39777

30/10/2003

0

Tentei realizar uma consulta SQL filtrando um determinado campo char de tamanho 1 para exibir registros diferentes de ´U´, mas nada é exibido:

select * from tabela where campo<>´U´

Este campo, em sua grande maioria, possui registros nulos, apenas alguns registros possuem o caractere ´U´, mas nada é retornado na consulta.

Posso facilmente resolver isto filtrando os registros como nulos:

select * from tabela where campo is null

Mas, gostaria de entender porque isto acontece para que não cometa erros no código de alguma aplicação.

Utilizo o Firebird 1.5.

Se alguém puder me explicar, obrigado.

Alexandre.


Alexandre7

Alexandre7

Responder

Posts

30/10/2003

Marcos Fernando

vc manda selecionar os campos <> ´U´ como vc só utiliza u como informaçoes null é nulo,,,, então não está no paramentro <> ´U´...

para ele encontrar não deixe a campo nulo, acresente um ´A´ ai sim,,pois o campo não será mais nulos,,,,,,sua consulta está certa como is null


Responder

Gostei + 0

30/10/2003

Alexandre7

Entendi, Marcos.

Mas, uma vez que null é diferente de ´U´, a consulta não deveria exibir os registros com o campo nulo mesmo assim?

Isso irá ocorrer em qualquer tipo de campo (data, valor, texto), tanto no Firebird como no Interbase? Será que esta regra é comum para outros bancos de dados?

Questiono apenas para aprender mais.

Valeu.


Responder

Gostei + 0

01/11/2003

Afarias

|Mas, uma vez que null é diferente de ´U´, a consulta não deveria exibir
|os registros com o campo nulo mesmo assim?

NULL não é diferente de ´U´ e nem é igual a ´U´ -- NULL não é valor, é apenas um estado como ´desconhecido´


|Isso irá ocorrer em qualquer tipo de campo (data, valor, texto), tanto no
|Firebird como no Interbase? Será que esta regra é comum para outros
|bancos de dados?

Todos os bancos de dados (segundo as normas SQL ANSI 92)


Vc pode ter seu SQL na forma::

select * from tabela where campo is NULL or campo<>´U´


T+


Responder

Gostei + 0

03/11/2003

Alexandre7

Obrigado pelas informações, Marcos e Farias.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar