Oracle/PLSQL: To - Date Function: Parameter Explanation

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 4

Oracle/PLSQL: To_Date Function

In Oracle/PLSQL, the to_date function converts a string to a date.

The syntax for the to_date function is:

to_date( string1, [ format_mask ], [ nls_language ] )

string1 is the string that will be converted to a date.

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:

 Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

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

Convert an expression to a date value.

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')

SQL> select * from sales where order_date > to_date('29-Oct-09', 'DD-Mon-YY');

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

-- Y1999 Y2000 Y2005 Y2050


-- ----------- ----------- ----------- -----------
-- 01-JAN-1999 01-JAN-2000 01-JAN-2005 01-JAN-2050

You might also like