Calculos dias Uteis verificando horas

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
lusama22
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Seg, 02 Ago 2021 10:10 am
Localização: belo horizonte

Prezados,

Retirei a função abaixo de um topico do forum, no entanto, a mesma não verifica a questão de horas.
Exemplo:

Selecionar tudo

declare
    vtemp  number;
     vdata1 date;
     vdata2 date;
   begin
      vdata1 := To_Date('01/06/2021 14:50'/*VInicio*/,'dd/mm/rrrr hh24:mi');
      vdata2 := To_Date('02/06/2021 14:10'/*VFinal*/,'dd/mm/rrrr hh24:mi');
    
      select count(dat)
     into vtemp
     from
       ( 
       select vdata1 + rownum-1 dat
       from all_tables
       where rownum <= ( vdata2 - vdata1)+1
       )
     where to_char(dat, 'd') not in (1,7);
     --RETURN vtemp;

     dbms_output.put_line('Numero de dias úteis: '||vtemp);
   end;

No exemplo acima informa a quantidade de 1, quando na verdade deveria trazer 0,
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

O que exatament você precisa ?
Você quer saber as HORAS ÚTEIS ?
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

O que exatament você precisa ?
Você quer saber as HORAS ÚTEIS ?
Pelo que entendi, ele quer que conte como 1 dia útil, só depois que passar de uma determinada hora, por exemplo, agora é dia 28.08.2021, às 16.25, até o dia 29.08.2021 às 16.24, não pode contar como 1 dia útil, só depois que igualar ou a hora do dia 29.08.2021, for superior a hora do dia 28.08.2021
Responder
  • Informação
  • Quem está online

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