SELECT CONCAT(`h`.`hour`, ':', `m`.`minute`, ':00')
FROM (
SELECT '09' AS `hour`
UNION SELECT '10'
UNION SELECT '11'
UNION SELECT '12'
UNION SELECT '13'
UNION SELECT '14'
UNION SELECT '15'
UNION SELECT '16'
UNION SELECT '17'
) AS `h`
JOIN (
SELECT '00' AS `minute`
UNION SELECT '15'
UNION SELECT '30'
UNION SELECT '45'
) AS `m`
SELECT *
FROM `tasks`
WHERE `nextStartTime` < :currentTime;
DELETE
FROM `tasks`
WHERE `nextStartTime` < :currentTime AND 0 = `interval`;
UPDATE `tasks`
SET `nextStartTime` = `nextStartTime` + INTERVAL `interval` MINUTE
WHERE `nextStartTime` < :currentTime;