TRUNC and ROUND : Date Functions « PL SQL Data Types « Oracle PL/SQL Tutorial






TRUNC (value,'W') is the easiest way of getting the first day of the week.

TRUNC, typically applied to numbers, also work with dates and timestamps.

TRUNC truncates the date to some level of precision.

v_dt:= TRUNC (DATE|TIMESTAMP|INTERVAL value[,PRECISION]);

Rather than numeric precision, here you use date format masks.

For example, 'YYYY' truncates the date to years, and 'MM' to a month.

If you don't specify any precision, the default is day ('DD').

You can't specify a combination of format masks.

Only one can be specified at a time.

SQL>
SQL>
SQL> declare
  2      v_dt DATE;
  3      v_form_tx VARCHAR2(25):='YYYY-MM-DD HH24:MI:SS';
  4  begin
  5      v_dt:=trunc(sysdate);
  6      DBMS_OUTPUT.put_line(to_char(v_dt,v_form_tx));
  7      v_dt:=trunc(sysdate,'YYYY');
  8      DBMS_OUTPUT.put_line(to_char(v_dt,v_form_tx));
  9  end;
 10  /
2007-06-09 00:00:00
2007-01-01 00:00:00

PL/SQL procedure successfully completed.

SQL>
SQL>








21.10.Date Functions
21.10.1.Working with dates and built-in functions EXTRACT
21.10.2.TRUNC and ROUND
21.10.3.ROUND
21.10.4.ADD_MONTHS
21.10.5.LAST_DAY
21.10.6.MONTHS_BETWEEN
21.10.7.Use TRUNC to get only the time
21.10.8.Returning a point just before a specific midnight with TRUNC
21.10.9.TO_DATE('29-DEC-1988','dd-mon-yyyy')