Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 9 anos atrás por Avatar de Nelson AnchiteNelson Anchite.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #107914
    Avatar de Gilvan Viana RodriguesGilvan Viana Rodrigues
    Participante

      Pessoal sou novo aqui e no oracle. Estou com uma query que fiz em primeiro momento no Postgresql e agora tenho que converter para a linguagem do Oracle. Tenho um case dentro da cláusula where e o está gerando erro (ORA-00907: parêntese direito não encontrado). Porém, não há falta de perêntese e funciona corretamente no Postgre. Já pesquisei a estrutura e aparentemente está correta.

      WHERE

      AND CASE :WHEN_SUSTENTACAO WHEN ‘1’ THEN
      (var1 = ’27’ or var1 = ‘10101’)
      WHEN :WHEN_SUSTENTACAO = ‘dev4′ THEN
      (var1 = ’27’ or car1 = ‘10101’ or var1 = ‘3’ or var1 = ’10’ or var1 = ‘1’ or var1 = ’18’)
      ELSE
      (var1 = ‘1’ or var1 = ’23’ or var1 = ‘9’ or var1 = ‘3’ or var1 = ’18’ or var1 = ’10’)
      END

      #107916
      Avatar de Nelson AnchiteNelson Anchite
      Participante

        Cara você está fazendo o uso errado do case when na cláusula WHERE.

        Select campos from
        where campo = CASE WHEN 1 -1 THEN ‘2’ ELSE campo END;

        Mais ou menos assim, olha aqui nesse link também

        http://glufke.net/oracle/viewtopic.php?t=1608

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress