PLSQL-Oracle

Hoy vamos a ver una pequeña función PL/SQL que me hice en su día que sirve para sumarle a una fecha dada, N días hábiles. Es una función sencillita que, por ahora, sólo tiene en cuenta Sábados y Domingos, pero que puede ser muy práctica para cuando se quiere trabajar con fechas y realizar este tipo de cálculos.

create or replace function Sumar_Dias_Habiles
       (fecha_inicio in date, dias_habiles in number)
       Return date
As
  dia         number;
  dia_habil   number;
  hoy         date;
  fecha_fin   date;
begin
     dia := 0;
     dia_habil := dias_habiles; -- variable numdias
     while dia <= dia_habil loop
         hoy := fecha_inicio+dia;

         if  (to_char(hoy,'DY') = 'SAT' or to_char(hoy,'DY') = 'SUN' or
             to_char(hoy,'DY') = 'SÁB' or to_char(hoy,'DY') = 'DOM') then

            -- Es sábado o domingo
            dia_habil := dia_habil + 1;

         end if;
         dia := dia + 1;
     end loop;

     fecha_fin := fecha_inicio + dia_habil;

     return fecha_fin;
end Sumar_Dias_Habiles;
Advertisements

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies

Pin It on Pinterest

Share This

Compártelo

¡Comparte este artículo con tus amigos!