[firebase-br] RES: Select CASE
Rodrigo A. de Freitas
rodrigo em solucoeseinformatica.com.br
Qua Out 17 16:08:28 -03 2007
Boa tarde Marcelo, você pode fazer assim:
SELECT CASE
WHEN DESCRICAO IS NOT NULL THEN DESCRICAO
ELSE
CASE TIPO
WHEN 0 THEN ''
WHEN 1 THEN ''
WHEN 2 THEN '0'
WHEN 3 THEN '0'
WHEN 4 THEN CAST(CURRENT_DATE AS VARCHAR(10))
END FROM TABELA
Lembrando que não existe a opção de um campo 'variante', então a sua data
teve ser convertida para uma string. Pra retornar com a máscara correta,
você pode fazer assim:
CAST(EXTRACT(DAY FROM CURRENT_DATE) AS VARCHAR(2) || '/' ||
CAST(EXTRACT(MONTH FROM CURRENT_DATE) AS VARCHAR(2) || '/' ||
CAST(EXTRACT(YEAR FROM CURRENT_DATE) AS VARCHAR(4)
[]'s
Rodrigo A. de Freitas
Soluções & Informática
-----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
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.488 / Virus Database: 269.14.13/1074 - Release Date: 16/10/2007
14:14
Mais detalhes sobre a lista de discussão lista