Dias domingos y feriados entre dos fechas MYSQL

Calculo de los días domingos y festivos en Mysql. Suponiendo que DIASFESTIVOS es una tabla como la siguiente

+-------------+----------------+------------------+
|Id_diafestivo| Dia_festivo    | Fecha            |
+-------------+----------------+------------------+
|           1 | un dia festivo | 2017-12-21       |
|           2 | navidad        | 2017-12-25       |
|           3 | muertos        | 2017-10-02       |
+-------------+----------------+------------------+



SET @Inicio := '2017-12-01';
SET @Fin := '2017-12-26';

SELECT
@Inicio,
@Fin,
DATEDIFF(@Fin, @Inicio) AS Dias
,IFNULL(ROUND(((UNIX_TIMESTAMP(@Fin) - UNIX_TIMESTAMP(@Inicio)) / (24 * 60 * 60) - 7 + WEEKDAY(@Inicio) - WEEKDAY(@Fin)) / 7) + IF(WEEKDAY(@Inicio) <= 6,
1,
0) + IF(WEEKDAY(@Fin) >= 6,
1,
0),
'0') AS Domingos
,(SELECT COUNT(Fecha) FROM DIASFESTIVOS
WHERE Fecha BETWEEN @Inicio AND @Fin
AND WEEKDAY(Fecha) <> 6
) AS Festivos
;



El resultado sería este.



Happy Coding!

Entradas populares de este blog

"php" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.

Laravel y MercadoPago SDK

Dompdf image not found or type unknown