DECODE COM PARÂMETRO

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
djoq
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 54
Registrado em: Sex, 27 Jan 2012 8:16 am
Localização: Londres UK

Olá, pode me ajudar com este decode:

Selecionar tudo

and decode (:tipo, 'NASCIDO',  to_char(dt_nasc,'mm') = :p_mês, 
                     'ADMITIDO', to_char(a.dt_admissao,'mm') = :p_mês)
Não sei porque não funciona.
Qualquer ajuda é bem vinda
Obrigada
Tinho
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 318
Registrado em: Seg, 16 Nov 2009 4:50 pm
Localização: São Paulo - SP

Por favor, qual o contexto que este código está inserido? É um DML direto ou é alguma string interpretada por alguma aplicação?

A princípio a sintaxe está errada.

Sintaxe:

Selecionar tudo


decode( expression , search , result [, search , result]... [, default] )

Não sei se entedi direito o que você precisa, mas de qualquer maneira pode tentar o seguinte:

Selecionar tudo


and decode(:tipo, 'NASCIDO', to_char(dt_nasc,'mm'), to_char(a.dt_admissao,'mm' )) = :p_mês

Att.,
djoq
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 54
Registrado em: Sex, 27 Jan 2012 8:16 am
Localização: Londres UK

Obrigada Tinho, funcionou perfeitamente. A query é para um report.
Só adaptei e fiz desta forma

Selecionar tudo

and decode(:tipo, 'N', to_char(dt_nasc,'mm'),'A' ,to_char(a.dt_admissao,'mm' )) = :p_mês
Valeu pela ajuda!! =D
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes