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

      Ola pessoal.

      Tenho o seguinte trecho de query no SQL:

      CAST(SUBSTRING(‘20090108’,1,4) AS VARCHAR(04)) + RIGHT(‘0’ + CAST(SUBSTRING(‘20090108′,5,2)-1 AS VARCHAR(02)),2) + ’10’

      Tenho que converter para Oracle… tentei da seguinte forma:

      SUBSTR(CAST(‘20000108’ AS VARCHAR(04)),1,4) + RIGHT(‘0’ + SUBSTR(CAST(‘20000108′ AS VARCHAR(02)), 5,2)-1, 2) + ’10’

      Mais da o seguinte erro no Oracle:

      ORA-00904: nome inválido de coluna

      Alguem pode me ajudar??

      Atenciosamente,
      Tiago

      #84789
      Avatar de Marcio68AlmeidaMarcio68Almeida
      Participante

        Qual o retorno que você espera ?
        Assim fica mais simples de te passar o comando correto…

        #84790
        Avatar de Tiago_BBTiago_BB
        Participante

          Ja estou quase conseguindo…

          Fiz da seguinte forma utilizando RPAD:

          SUBSTR(CAST(‘20010308’ AS VARCHAR(08)),1,4) || RPAD(‘0’ || SUBSTR(CAST(‘20010308′ AS VARCHAR(08)), 5,2) -1, 2) || ’10’

          porém esse trecho:

          RPAD(‘0’ || SUBSTR(CAST(‘20010308’ AS VARCHAR(08)), 5,2) -1, 2)

          Esta me retornando 20012 08…

          Porém eu quero que me retorne 20010208…

          Pode me ajudar…

          Obrigado pelo interesse!!!

          Atte

          #84796
          Avatar de Regis AraujoRegis Araujo
          Participante

            Tiago, bom dia!

            Seguinte, qual é o retorno que vc espera?? Pois dependendo do que vc espera como retorno, pode ser utilizado um comando bem mais simples…

            Abraços…

            #84797
            Avatar de Tiago_BBTiago_BB
            Participante

              Consegui pessoal.

              Estava usando RPAD… mais é LPAD.

              Eu queria subtrair 1 do mês…

              Ficou dessa forma:

              LPAD(SUBSTR(CAST(‘20010209′ AS VARCHAR(08)), 5,2) -1, 2, ’00’)

              Obrigado a todos!

              Atte

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