Somar sem contar sabado e Domingo

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Trancado
groliveira
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Seg, 16 Fev 2009 1:46 pm
Localização: DF

Atualmente o Select está assim:


Selecionar tudo

create or replace procedure AGPSP007_INCLUI_SOLICITACAO(coProtocoloAtendimento IN FLOAT,
--F998120  09/12/2008 16:09:47
--F978268  27/11/2008 20:04:42
--F978268  27/11/2008 19:58:13

                                      nuSolicitacao IN FLOAT,
                                      nuTipoSolicitacao IN INTEGER,
                                      nuDestino IN INTEGER,
                                      nuItemDestino IN INTEGER,
                                      nuSubItemDestino IN INTEGER,
                                      deSolicitacao IN STRING,
                                      nuSituacaoSolicitacao IN FLOAT,
                                      coMatriculaCriacao IN STRING) as
begin

  insert into agp.agptb002_solicitacao
    (co_protocolo_atendimento,
     nu_solicitacao,
     nu_tipo_solicitacao,
     nu_destino,
     nu_item_destino,
     nu_sub_item_destino,
     de_solicitacao,
     nu_situacao_solicitacao,
     dt_limite_solicitacao,
     dt_solicitacao,
     co_matricula_criacao,
     co_matricula_alteracao)
  values
    (coProtocoloAtendimento,
     agp.AGPSQ002_SOLICITACAO.NEXTVAL,
     nuTipoSolicitacao,
     nuDestino,
     nuItemDestino,
     nuSubItemDestino,
     deSolicitacao,
     nuSituacaoSolicitacao,
     
     (select sysdate + t.nu_pz_hr_tipo_solicitacao/24
      from agp.agptb003_tipo_solicitacao t
      where t.nu_tipo_solicitacao = nuTipoSolicitacao
        

      ),

      
      sysdate,
     coMatriculaCriacao,
     coMatriculaCriacao);

end;

A minha idéia seria mais ou menos assim


(select sysdate + t.nu_pz_hr_tipo_solicitacao/24
from agp.agptb003_tipo_solicitacao t
where t.nu_tipo_solicitacao = nuTipoSolicitacao
),

No caso ficaria assim:

Prazo := (O select acima)
Dia := Sysdate

For i = 1 to <= Prazo
Dia := Dia + 1
If Dia day = 'Saturday'
Dia := Dia + 2 -- No caso Somando Sabado e Domingo
EndIf
i := i + 1
EndFor


Preciso Somar os dias acrescentando dois dias a mais na contagem caso durante a contagem passe por um sabado...

Preciso de ajuda do pessoal fera ai...
Grato,
Guilherme
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5018
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

TOPICO DUPLICADO

Por favor, não abra um novo tópico para o mesmo assunto.

Este post é referente a esse tópico:
http://glufke.net/oracle/viewtopic.php?t=4344

BLOQUEADO
Trancado
  • Informação
  • Quem está online

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