01/11/2007, 16:38
|
| | | Fecha de Ingreso: octubre-2007 Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años Puntos: 85 | |
Re: dias entre dos fechas Oracle Hola,
A ver que tal va esto...
Código:
CREATE OR REPLACE FUNCTION days(p_from_date IN DATE, p_to_date IN DATE)
RETURN NUMBER IS
b_days NUMBER;
BEGIN
b_days := TRUNC(p_to_date) - TRUNC(p_from_date)
- ((TRUNC(p_to_date,'D')-TRUNC(to_date(p_from_date),'D'))/7)*2
+ 1;
IF TO_CHAR(p_to_date,'D') = '7' THEN
b_days := b_days - 1;
END IF;
IF TO_CHAR(p_from_date,'D') = '1' THEN
b_days := b_days - 1;
END IF;
RETURN(b_days);
END;
/
Function created.
SQL> select days(to_date('01/11/2007','dd/mm/yyyy'),to_date('06/11/2007','dd/mm/yyyy')) from dual;
DAYS(TO_DATE('01/11/2007','DD/MM/YYYY'),TO_DATE('06/11/2007','DD/MM/YYYY'))
---------------------------------------------------------------------------
4
Hay 6 dias entre las dos fechas y un fin de semana.
Referencia: Oracle Resource Stop.
Saludos |