To display the date in a meaningful way, you need to use the TO_CHAR function:
my_val := to_char(DATE variable [,format mask])
TO_CHAR converts the date value into the string by using a specified format mask.
The following table shows the most commonly used formatting options.
Format | Meaning |
---|---|
Y, YY, YYYY, YYYY | Year (from one to 4 digits) |
RR, RRRR | Rounded year (accepts 2- or 4-digit values and converts 2-digit values into the appropriate century) |
MM, MONTH, MON | Month of the year, name of the month, abbreviated name |
W, WW | Week of the month, week of the year (not a calendar week, because the first week starts at the 1st of the month/year and ends at the 7th) |
D, DD, DDDD | Day of the week, day of the month, day of the year |
DAY, DY | Name of day (fixed length: 9 char), abbreviated name of day |
HH, HH24 | Hour of the day (1-12), hour of the day (0-23) |
A.M./ AM | Meridian indicator with or without periods |
MI | Minutes (0-59) |
SS, SSSSS | Seconds (0-59), seconds from midnight (0-86399) |
You can use some characters as separators:comma, dot, space, and semicolon within the format mask.
Everything else has to be enclosed in double quotes.
SQL> SQL> declare-- ww w . j a v a 2 s.co m 2 v_dt DATE :=sysdate; 3 v_tx VARCHAR2(2000); 4 begin 5 v_tx:=to_char(v_dt,'"Today is": DAY'); 6 DBMS_OUTPUT.put_line(v_tx); 7 end; 8 / Today is: SATURDAY PL/SQL procedure successfully completed. SQL>