TRUNC ( DATE, [ format ] )
-- date is the date to truncate.
-- format is the unit of measure to apply for truncating.
-- If the format parameter is omitted, the trunc function
-- will truncate the date to the day value, so that any hours,
-- minutes, or seconds will be truncated off.
SELECT TO_CHAR(SYSTIMESTAMP) FROM dual;
SELECT TO_CHAR(TRUNC(SYSTIMESTAMP)) FROM dual;
TRUNC(TO_DATE('22-AUG-03'), 'YEAR') -- would return '01-JAN-03'
TRUNC(TO_DATE('22-AUG-03'), 'Q') -- would return '01-JUL-03'
TRUNC(TO_DATE('22-AUG-03'), 'MONTH') -- would return '01-AUG-03'
TRUNC(TO_DATE('22-AUG-03'), 'DDD') -- would return '22-AUG-03'
TRUNC(TO_DATE('22-AUG-03'), 'DAY') -- would return '17-AUG-03'
/*
Unit Valid format parameters
Year SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y
ISO Year IYYY, IY, I
Quarter Q
Month MONTH, MON, MM, RM
Week WW
IW IW
W W
Day DDD, DD, J
Start day of the week DAY, DY, D
Hour HH, HH12, HH24
Minute MI
*/