Oracle/PLSQL: To - Date Function: Parameter Explanation
Oracle/PLSQL: To - Date Function: Parameter Explanation
format_mask is optional. This is the format that will be used to convert string1 to a date.
nls_language is optional. This is the nls language used to convert string1 to a date.
The following is a list of options for the format_mask parameter. These parameters can be used in
many combinations.
Parameter Explanation
YEAR Year, spelled out
YYYY 4-digit year
YYY
YY Last 3, 2, or 1 digit(s) of year.
Y
IYY
IY Last 3, 2, or 1 digit(s) of ISO year.
I
IYYY 4-digit year based on the ISO standard
Accepts a 2-digit year and returns a 4-digit year.
RRRR A value between 0-49 will return a 20xx year.
A value between 50-99 will return a 19xx year.
Q Quarter of year (1, 2, 3, 4; JAN-MAR = 1).
MM Month (01-12; JAN = 01).
MON Abbreviated name of month.
Name of month, padded with blanks to length of 9
MONTH
characters.
RM Roman numeral month (I-XII; JAN = I).
Week of year (1-53) where week 1 starts on the
WW first day of the year and continues to the seventh
day of the year.
Week of month (1-5) where week 1 starts on the
W
first day of the month and ends on the seventh.
Week of year (1-52 or 1-53) based on the ISO
IW
standard.
D Day of week (1-7).
DAY Name of day.
DD Day of month (1-31).
DDD Day of year (1-366).
DY Abbreviated name of day.
Julian day; the number of days since January 1,
J
4712 BC.
HH Hour of day (1-12).
HH12 Hour of day (1-12).
HH24 Hour of day (0-23).
MI Minute (0-59).
SS Second (0-59).
SSSSS Seconds past midnight (0-86399).
Fractional seconds. Use a value from 1 to 9 after
FF FF to indicate the number of digits in the fractional
seconds. For example, 'FF4'.
AM, A.M., PM, or P.M. Meridian indicator
AD or A.D AD indicator
BC or B.C. BC indicator
TZD Daylight savings information. For example, 'PST'
TZH Time zone hour.
TZM Time zone minute.
TZR Time zone region.
Applies To:
For example:
to_date('2003/07/09',
would return a date value of July 9, 2003.
'yyyy/mm/dd')
to_date('070903', 'MMDDYY') would return a date value of July 9, 2003.
to_date('20020315', 'yyyymmdd') would return a date value of Mar 15, 2002.
PaGE-2
Syntax
to_date(char[,'format'[,nls_lang])
Key
char String expression that will be converted to a date
format Date format to use.
nls_lang The international language to use.
to_date will convert either a character string or an expression into a date value.
The 'format' must be a valid DATE format: YYYY=year, MM=month, DD=Day, HH=Hour,
Mi=Minute
If no format is specified Oracle will assume the default date format has been supplied in char.
Examples
to_date('29-Oct-09', 'DD-Mon-YY')
to_date('10/29/09', 'MM/DD/YY')
to_date('120109', 'MMDDYY')
to_date('29-Oct-09', 'DD-Mon-YY HH:MI:SS')
to_date('Oct/29/09', 'Mon/DD/YY HH:MI:SS')
to_date('October.29.2009', 'Month.DD.YYYY HH:MI:SS')
To check that year 2000 dates are appearing correctly try the following:
SELECT
to_char(add_months(to_date('01-JAN-1998', 'DD-MON-YYYY'),1 * 12),'DD-MON-
YYYY') y1999,
to_char(add_months(to_date('01-JAN-1998', 'DD-MON-YYYY'),2 * 12),'DD-MON-
YYYY') y2000,
to_char(add_months(to_date('01-JAN-1998', 'DD-MON-YYYY'),7 * 12),'DD-MON-
YYYY') y2005,
to_char(add_months(to_date('01-JAN-1998', 'DD-MON-YYYY'),52 * 12),'DD-
MON-YYYY') y2050
FROM
DUAL;
-- Expected output