sql >> Base de Datos >  >> RDS >> Mysql

tiempo de filtrado

aquí está mi respuesta... ¡gracias chicos!

DELIMITER $$

CREATE FUNCTION `BD`.`func_duration`(fecha_ini DATETIME, fecha_fin DATETIME)
RETURNS FLOAT 
BEGIN
DECLARE recorte FLOAT;
SET recorte = -1;

WHILE (fecha_ini <= fecha_fin) DO
    IF (HOUR(fecha_ini) >= 6 AND HOUR(fecha_ini) <= 21) THEN

        SET recorte = recorte + 1;
    END IF;
    SET fecha_ini = DATE_ADD(fecha_ini, INTERVAL 1 MINUTE);
END WHILE;
RETURN recorte;

END$$

DELIMITER ;