Missing right Parenthesis no DECODE

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
maurojosedmjr
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Sex, 15 Fev 2013 2:00 pm

o Código é esse:

Selecionar tudo

select info
     , quantidade
     , decode (data, '03/2013', 'março de 2013', data) data
     , rank () over (order by quantidade desc) rk
     , decode (rk, rk>5, '6', rk)
  from funcionalidades
 where data = '03/2013'
o erro é esse:
ORA-00907: parêntese direito não encontrado
00907. 00000 - "missing right parenthesis"
*Cause:
*Action:
Erro na linha: 5 Coluna: 21


não consigo resolver =/

sem essa linha => , decode (rk, rk>5, '6', rk), o código roda sem problemas.

alguém pode me ajudar??
ballboas
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 98
Registrado em: Qui, 02 Ago 2007 3:06 pm
Localização: sp
Érico Balboa

A pergunta mais cretina é aquela que não é feita

Dentro de um decode rk>5 não funciona, para ter uma comparação usando operadores relacionais use o Case When.

altere o seu decode por:

Selecionar tudo

 case
   when rk > 5 then
    6
   else
    rk
 end
Responder
  • Informação
  • Quem está online

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