SELECT TRUNC(SYSDATE + 1) FROM DUAL
In 7 days
SELECT TRUNC(SYSDATE + 7) FROM DUAL
First day of next month
SELECT TRUNC(LAST_DAY(SYSDATE) + 1) FROM DUAL
Last day of next month
SELECT TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE, 1))) FROM DUAL
Next Tuesday
SELECT NEXT_DAY(TRUNC(SYSDATE), 'TUESDAY') FROM DUAL
SELECT TRUNC(LAST_DAY(SYSDATE) + 15) FROM DUAL
Next Weekday at 2:30 PM
SELECT CASE WHEN TRIM(TO_CHAR(TRUNC(SYSDATE), 'DAY')) = 'SATURDAY' THEN TRUNC(TRUNC(SYSDATE) + 2)
ELSE TRUNC(SYSDATE) + 1
END + 14.5/24
FROM DUAL
Next Weekday with Date and Time Substitution Variables
SELECT CASE WHEN TRIM(TO_CHAR(to_date(:pi_date, 'DD-MON-YYYY'), 'DAY')) = 'SATURDAY' THEN TRUNC(to_date(:pi_date, 'DD-MON-YYYY') + 2)
ELSE TRUNC(to_date(:pi_date, 'DD-MON-YYYY') + 1)
END + (:pi_time/24)
FROM DUAL
Next Non Weekday
SELECT CASE WHEN TRIM(TO_CHAR(TRUNC(SYSDATE), 'DAY')) = 'SATURDAY' THEN TRUNC(SYSDATE) + 1
ELSE NEXT_DAY(TRUNC(SYSDATE), 'SATURDAY')
END
FROM DUAL
SELECT NEXT_DAY(LAST_DAY(trunc(SYSDATE)), 'TUESDAY') + (7 * (3 - 1)) + 10/24
FROM DUAL
SELECT NEXT_DAY(LAST_DAY(trunc(SYSDATE)), 'TUESDAY') + 14 + 10/24
FROM DUAL
SELECT NEXT_DAY(LAST_DAY(trunc(SYSDATE)), 'MONDAY') + (7 * (1 - 1)) + 14/24
FROM DUAL
SELECT NEXT_DAY(LAST_DAY(trunc(SYSDATE)), 'MONDAY') + 14/24
FROM DUAL
Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.
Comments (1)
Commented: