Diferencia de días en oracle

Necesito saber como se puede calcular el número de días que hay entre dos fechas sin contar los sábados y los domingos, he estado mirando y he visto que puedes restar dos fechas y después ir mirando uno a uno si es sábado o domingo para restárselo, pero hay me ocurría un problema, ya que quiero hacerlo con oracle y no encuentro la manera que me de uno a uno los días que hay entre dos fechas para poder sacar el día de la semana que es.
Lo que no se es si hay una manera más fácil para calcularlo.

1 Respuesta

Respuesta
1
A ver como voy de memoria... O sea fatal.
Una posible solución sería hacer los siguiente: calculas el número de días entre la una fecha y la otra (a a partir de ahora d1 y d2)... por ejemplo 20.
Hay una función que sirve para indicar que día de la semana es, ahora no se si la recuerdo bien pero creo que era datepart(). Esta función devuelve un 1 si es domingo y un 7 si es sábado.
Luego sabiendo que una semana entera (7 días) solo tiene de 5 días lectivos, y sabiendo que día de la semana es d1 y d2 deberías de calcular cuantos de los días restantes son lectivos.
Nota: Creo recordar que dependiendo de la configuración puede ser que en lugar de 1 = domingo puede ser que sea 7 = domingo. Haz una prueba.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas