Pular para o conteúdo
  • Este tópico contém 3 respostas, 2 vozes e foi atualizado pela última vez 17 anos, 1 mês atrás por Manoel872.
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #84749
    Tiago_BB
    Participante

      Ola pessoal … tenho uma query no SQL… tentei converter pra Oracle mas da erro.

      A query é:

      SELECT * FROM (SELECT
      CASE
      WHEN SUBSTR(‘20000111’,7,2) > 10 THEN CAST(SUBSTR(‘20000111′,1,6) AS VARCHAR(06)) + ’10’
      ELSE CASE
      WHEN SUBSTR(‘20000111’,5,2)= 1 THEN CAST(SUBSTR(‘20000111’,1,4) – 1 AS VARCHAR(04)) + ‘1210’
      ELSE CAST(SUBSTR(‘20000111’,1,4) AS VARCHAR(04)) + RIGHT(‘0’ + CAST(SUBSTR(‘20000111′,5,2)-1 AS VARCHAR(02)),2) + ’10’
      END
      END) DATA_CALENDARIO
      AND CENTROCUSTO = 421
      AND FERIADO_CALENDARIO = 0
      AND EXISTS (SELECT DATA_CALEND FROM CALEND WHERE DATA_CALEND = ‘20000111’)
      WHERE ROWNUM = 1

      Após compilar dá o seguinte erro:

      ORA-00923: palavra-chave FROM não localizada onde esperada

      Alguém pode me ajudar?

      Atenciosamente,
      Tiago

      #84750
      Manoel872
      Participante

        Ei amigo vc esqueceu de definir a tabela do select da uma olhada ae… procura um programa chamado SQLWAY 3.9 ele tem uma ferramenta de conversão de sintaxe entre bancos.

        #84751
        Tiago_BB
        Participante

          A query do SQL é essa:

          SELECT TOP 1 (SELECT
          CASE
          WHEN SUBSTRING(‘20090112’,7,2) > 10
          THEN CAST(SUBSTRING(‘20090112′,1,6) AS VARCHAR(06)) + ’10’
          ELSE
          CASE
          WHEN SUBSTRING(‘20090112’,5,2)= 1
          THEN CAST(SUBSTRING(‘20090112’,1,4) – 1 AS VARCHAR(04)) + ‘1210’
          ELSE CAST(SUBSTRING(‘20090112’,1,4) AS VARCHAR(04)) + RIGHT(‘0’ + CAST(SUBSTRING(‘20090112′,5,2)-1 AS VARCHAR(02)),2) + ’10’
          END
          END) DATA_CALENDARIO
          FROM CALEND
          WHERE DATA_CALENDARIO = ‘20090112’
          AND FERIADO_CALENDARIO = 0
          AND EXISTS (SELECT DATA_CALENDARIO FROM CALENDARIO WHERE DATA_CALENDARIO = ‘20090112’)

          VocÊ pode me ajudar a converter isso pra Oracle??

          Obrigado!!!

          #84752
          Manoel872
          Participante

            Olha ae dentro do select vc nao pois a clausula from entao nao vai funcionar analise a semantica ae…

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