DATE_SUB()와 SUBDATE()는 동일하며, 특정 DATE 값에 대해 뺄셈 또는 덧셈을 실행한다. 리턴 값은 DATE 타입 또는 DATETIME 타입이다. 연산 결과의 날짜가 해당 월의 마지막 날짜를 초과하면, 해당 월의 말일을 적용하여 유효한 DATE 값을 반환한다.
DATE_SUB (date, INTERVAL expr unit)
SUBDATE(date, INTERVAL expr unit)
SUBDATE(date, days)
SELECT SYSDATE, SUBDATE(SYSDATE,INTERVAL 24 HOUR), SUBDATE(SYSDATE, 1);
=== <Result of SELECT Command in Line 1> ===
SYS_DATE date_sub( SYS_DATE , INTERVAL 24 HOUR) subdate( SYS_DATE , 1)
==============================================================================
03/30/2010 12:00:00.000 AM 03/29/2010 03/29/2010
--it adds days when argument < 0
SELECT SYSDATE, SUBDATE(SYSDATE,INTERVAL -24 HOUR), SUBDATE(SYSDATE, -1);
=== <Result of SELECT Command in Line 1> ===
SYS_DATE date_sub( SYS_DATE , INTERVAL -24 HOUR) subdate( SYS_DATE , -1)
==============================================================================
03/30/2010 12:00:00.000 AM 03/31/2010 03/31/2010