[firebase-br] RES: Select CASE

Roger roger em dgpram.com.br
Qua Out 17 16:18:25 -03 2007


Olá Marcelo, boa tarde!


Você já tentou algo como este select.
Obs: não tive como testar, checar os parênteses, nem tão pouco se a sintaxe
ficou totalmente correta, mas a idéia, acredito que seja nesta linha.
Se alguém notar algo errado, por favor, podem me corrigir!

Select coalesce(x.descricao,(case when ((x.tipo=0) or (x.tipo=1)) then '' 
                                  When ((x.tipo=2) or (x.tipo=3)) then '0'
                                  Else 'today')
                             end)) from tabela x


[ ]'s Roger


-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Marcelo Moreira
Enviada em: quarta-feira, 17 de outubro de 2007 13:53
Para: lista em firebase.com.br
Assunto: [firebase-br] Select CASE

Pessoal,

Boa tarde!

 

                Tenho uma tabela com os seguintes campos:

 

DESCRICAO     VARCHAR(100)

TIPO                   INTEGER

 

No campo tipo eu posso ter cinco valores:

0 - MULTIPLA ESCOLHA    1 - TEXTO     2 - NUMERO     3 - VALOR    4 – DATA

 

O que eu gostaria de fazer é um select que quando o campo DESCRICAO não
tiver valor algum eu retornar na consulta valores padrão de acordo com o
valor que esta no campo TIPO. Exemplo: Vamos supor que na DESCRICAO esteja
Null e o TIPO seja:

 

0 então retorno uma string vazia ‘’

1 então retorna uma string vazia ‘’

2 então retorna ‘0’

3 então retorna ‘0’

4 então retorna current_date

 

Caso o campo DESCRICAO não esteja nulo então retorna o que esta gravado La
mesmo.

Alguém sabe me dizer se é possível?

Estou usando o Firebird 1.5.3

 

Obrigado pele atenção,

Abraços!

Marcelo Moreira


No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.488 / Virus Database: 269.14.12/1073 - Release Date: 16/10/2007
08:22
 
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista