Converter Decimal em Minuto

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
Dulima-SP
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 193
Registrado em: Qui, 24 Jan 2008 1:56 pm
Localização: SP

Boa tarde galera..
Preciso de um Help...

Estou tentando converter um resultado decimal para minuto, so que não consigo pensar de qual forma faria isso....
Vou tentar Explicar....

Eu tenho uma O.S. - Essa OS tem vario horarios, eu precisei realizar um Sum, para somar os valores para conseguir saber quantas horas teve essa OS.
POrem agora preciso saber os Minutos, porque quanto divido o total de Horas por 60 ele me traz valores quebrados
Ex. 5.333333333333

Quaro Saber como eu Pego esse 33333333
E trasnformo em Minuto.....
Se existe uma função do Oracle para isso e como aplico ????


Agradeço...
Dulima-SP
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 193
Registrado em: Qui, 24 Jan 2008 1:56 pm
Localização: SP

Pessoal Consegui Utilizei a função de Conversão antes do SUM....

De qualquer Forma Agradeço a todos!!!
schnu
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 110
Registrado em: Ter, 24 Mai 2005 9:16 pm
Localização: Dongguan - Guangdong - China

Sempre que conseguir solucionar o seus problemas, post aqui a resposta, a sua duvida pode ajudar outras pessoas, assuntos com solucoes é sempre bem vindo ehhehehe
seva
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Sex, 20 Nov 2015 1:46 pm

Dulima,

Acho que você pode usar algo semelhante ao código abaixo, conforme sua necessidade de extrair só o minuto, ou a hora e o segundo também:

Selecionar tudo

declare
  --
  vHoraDecimal number(10,2) := '2,75';
  vHora        varchar2(20);
  --
begin
  --
  SELECT lpad(   TRUNC(vHoraDecimal)   ,2,'0')   || ':' ||
         lpad(   extract (minute from numtodsinterval(vHoraDecimal, 'HOUR' ))   ,2,'0')    || ':' ||
         lpad(   extract (second from numtodsinterval(vHoraDecimal, 'HOUR'))    ,2,'0')
  into   vHora
  FROM   dual;
  --
  dbms_output.put_line(vHora);
  --
end;
Responder
  • Informação
  • Quem está online

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