I want to get the working days of the week between two dates and output them into a table like this:
|2014-07-21|Monday |
|2014-07-22|Tuesday |
|2014-07-23|Wednesday|
|2014-07-24|Thursday |
|2014-07-25|Friday |
This is what i tried so far as a result of what i found on internet.
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `interval_between`(startdate Date, enddate Date, interval_size VARCHAR(10), interval_value INT)
BEGIN
DECLARE thisDate Date;
SET thisDate = startdate;
CREATE TEMPORARY TABLE IF NOT EXISTS time_intervals (
interval_from Date
);
DELETE FROM time_intervals;
REPEAT
INSERT INTO time_intervals SELECT thisDate;
SELECT
CASE interval_size
WHEN 'MICROSECOND' THEN TIMESTAMPadd(MICROSECOND, interval_value, thisDate)
WHEN 'SECOND' THEN TIMESTAMPadd(SECOND, interval_value, thisDate)
WHEN 'MINUTE' THEN TIMESTAMPadd(MINUTE, interval_value, thisDate)
WHEN 'HOUR' THEN TIMESTAMPadd(HOUR, interval_value, thisDate)
WHEN 'DAY' THEN TIMESTAMPadd(DAY, interval_value, thisDate)
WHEN 'WEEK' THEN TIMESTAMPadd(WEEK, interval_value, thisDate)
WHEN 'MONTH' THEN TIMESTAMPadd(MONTH, interval_value, thisDate)
WHEN 'YEAR' THEN TIMESTAMPadd(YEAR, interval_value, thisDate)
END INTO thisDate;
UNTIL thisDate >= enddate
END REPEAT;
END