Pular para o conteúdo
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #95149
    Muca
    Participante

      Senhores,
      continuo com a migração de um banco Firebird para o Oracle (XE).

      Preciso retornar os segundos de um CURRENT_TIMESTAMP,
      mas antes preciso diminuir ‘2000-1-1’ do CURRENT_TIMESTAMP para daí converter para segundos.

      Minha procedure no Firebird está muito simples, mas no oracle estou encontrando problemas. Segue as duas únicas linhas da procedure no FIREBIRD:

      BEGIN
      S_TIMESTAMP = CURRENT_TIMESTAMP;
      S_SEGUNDOS = (S_TIMESTAMP – CAST(‘2000-1-1’ AS
      TIMESTAMP))*60*60*24;
      END

      Alguma ideia simples para o Oracle?
      Não estou conseguindo nem subtrair os dois valores.

      Obrigado!

      Muca

      #95150
      burga
      Participante

        SELECT
        (SYSDATE - TO_DATE('01/01/2000','dd/mm/yyyy'))6060*24
        FROM dual;

        #95151
        Muca
        Participante

          [quote=”burga”:x8059rfq]SELECT
          (SYSDATE - TO_DATE('01/01/2000','dd/mm/yyyy'))6060*24
          FROM dual;
          [/quote]

          Valeu burga,

          eu tinha tentando algo parecido antes e as duas meneiras estão me retornando um erro:
          tipos de dados inconsistentes: esperava NUMBER obteve INTERVAL DAY TO SECOND.

          sabendo que meu retorno de saida para SEGUNDOS é um number.

          #95163
          fsitja
          Participante

            Tem como você postar o código que você rodou?

            #95175
            Muca
            Participante

              [quote=”fsitja”:hnfspz7o]Tem como você postar o código que você rodou?[/quote]

              Opa… valeu fsitja, mas ja encontrei o erro, acabei me enganando com uma variavel.

              A solução que o burga me passou, funciona corretamente.
              Problema resolvido!

              Obrigado!

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