CREATE OR REPLACE FUNCTION is_weekday (date_in IN DATE)
RETURN BOOLEAN
IS
BEGIN
RETURN TO_CHAR (date_in, 'D') BETWEEN 2 AND 6;
END;
Function created.
DECLARE
l_date DATE := DATE '2018-09-10';
BEGIN
DBMS_OUTPUT.put_line ('If your weekend is Saturday and Sunday....');
FOR indx IN 1 .. 7
LOOP
DBMS_OUTPUT.put_line (
TO_CHAR (l_date, 'FMDay, Month DD YYYY')
|| ' is '
|| CASE WHEN NOT is_weekday (l_date) THEN 'not ' END
|| 'a weekday');
l_date := l_date + 1;
END LOOP;
END;
If your weekend is Saturday and Sunday....
Monday, September 10 2018 is a weekday
Tuesday, September 11 2018 is a weekday
Wednesday, September 12 2018 is a weekday
Thursday, September 13 2018 is a weekday
Friday, September 14 2018 is a weekday
Saturday, September 15 2018 is not a weekday
Sunday, September 16 2018 is not a weekday
CREATE OR REPLACE FUNCTION is_weekday (date_in IN DATE)
RETURN BOOLEAN
IS
BEGIN
RETURN TO_CHAR (date_in, 'D') BETWEEN 2 AND 6;
END;
Function created.
DECLARE
l_date DATE := DATE '2018-09-10';
BEGIN
DBMS_OUTPUT.put_line ('If your weekend is Saturday and Sunday....');
FOR indx IN 1 .. 7
LOOP
DBMS_OUTPUT.put_line (
TO_CHAR (l_date, 'FMDay, Month DD YYYY')
|| ' is '
|| CASE WHEN NOT is_weekday (l_date) THEN 'not ' END
|| 'a weekday');
l_date := l_date + 1;
END LOOP;
END;
If your weekend is Saturday and Sunday....
Monday, September 10 2018 is a weekday
Tuesday, September 11 2018 is a weekday
Wednesday, September 12 2018 is a weekday
Thursday, September 13 2018 is a weekday
Friday, September 14 2018 is a weekday
Saturday, September 15 2018 is not a weekday
Sunday, September 16 2018 is not a weekday