Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Davis

Retornar valor ou nulo com SELECT

Recommended Posts

Existe alguma maneira do SQL retornar um valor ou nulo?

 

Explico...

 

Como fazer com que um select assim: SELECT campo1, campo2 FROM tabela WHERE campo1 = 1

 

retornasse:

campo1 campo2

null null

 

ao invés de não retornar nada?

 

A propósito, sem uso de IF. Sei lá, Daria pra fazer algo como: SELECT campo1 OR null, campo2 OR null FROM tabela... Bom, entendeu a lógica, né? :D

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Puxa... sua pergunta é tão simples que chega a ser complicada (rsrsrs).

 

Colunas que na definição da tabela não são obrigatórias, ou seja, suportam a existência de NULL vão funcionar exatamente como você precisa, ou seja, se houver algum conteúdo no campo ele será informado, caso contrário será informado NULL. Então não se preocupe com : SELECT campo1 OR null....

 

Se existir conteúdo em campo1 ele será retornado.

 

Senão existir conteúdo, será retornado NULL.

 

Agora se você precisa algum outro tratamento (por exemplo: se uma das colunas for NULL e a outra não for, igualar as duas como NULL), um case simples resolve o problema...

 

SELECT case          when campo1 is not null and campo2  is not null         then campo1         else null       end as campo1,       case          when campo1 is not null and campo2  is not null         then campo2         else null       end as campo2 FROM tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.