Using the RR Format : TO_DATE « Date Timestamp Functions « Oracle PL/SQL Tutorial






If your date format is RR and you supply the last two digits of a year, the first two digits of your year are determined using the two-digit year you supply (your supplied year) and the last two digits of the present date on your database server (the present year). The rules used to determine the century of your supplied year are as follows:

  1. Rule 1 If your supplied year is between 00 and 49 and the present year is between 00 and 49, the century is the same as the present century. Therefore, the first two digits of your supplied year are set to the first two digits of the present year. For example, if your supplied year is 15 and the present year is 2005, your supplied year is set to 2015.
  2. Rule 2 If your supplied year is between 50 and 99 and the present year is between 00 and 49, the century is the present century minus 1. Therefore, the first two digits of your supplied year are set to the present year's first two digits minus 1. For example, if your supplied year is 75 and the present year is 2005, your supplied year is set to 1975.
  3. Rule 3 If your supplied year is between 00 and 49 and the present year is between 50 and 99, the century is the present century plus 1. Therefore, the first two digits of your supplied year are set to the present year's first two digits plus 1. For example, if your supplied year is 15 and the present year is 2075, your supplied year is set to 2115.
  4. Rule 4 If your supplied year is between 50 and 99 and the present year is between 50 and 99, the century is the same as the present century. Therefore, the first two digits of your supplied year are set to the first two digits of the present year. For example, if your supplied year is 55 and the present year is 2075, your supplied year is set to 2055.

Quote from:

Oracle Database 10g SQL (Osborne ORACLE Press Series) (Paperback)

# Paperback: 608 pages

# Publisher: McGraw-Hill Osborne Media; 1st edition (February 20, 2004)

# Language: English

# ISBN-10: 0072229810

# ISBN-13: 978-0072229813

SQL>
SQL> SELECT
  2    TO_CHAR(TO_DATE('04-JUL-15', 'DD-MON-RR'), 'DD-MON-YYYY'),
  3    TO_CHAR(TO_DATE('04-JUL-75', 'DD-MON-RR'), 'DD-MON-YYYY')
  4  FROM dual;

TO_CHAR(TO_ TO_CHAR(TO_
----------- -----------
04-JUL-2015 04-JUL-1975

SQL>








13.21.TO_DATE
13.21.1.Specifying a Datetime Format for TO_DATE() function
13.21.2.Using the YY Format
13.21.3.Using the RR Format
13.21.4.TO_CHAR(TO_DATE('04-JUL-15', 'DD-MON-RR'), 'DD-MON-YYYY')
13.21.5.TO_DATE function to convert from characters to dates explicitly
13.21.6.TO_DATE(x[, format]) converts the x string to a datetime
13.21.7.TO_DATE() converts the strings 04-JUL-2006 to the date July 4, 2006
13.21.8.Specifying Times
13.21.9.TO_DATE() with INSERT statement
13.21.10.DBMS_OUTPUT.PUT_LINE(TO_DATE ('1/1'));
13.21.11.DBMS_OUTPUT.PUT_LINE(TO_DATE ('6/1996'));
13.21.12.DBMS_OUTPUT.PUT_LINE(TO_DATE ('12-APR-09'));
13.21.13.DBMS_OUTPUT.PUT_LINE(TO_DATE ('19991205'));
13.21.14.DBMS_OUTPUT.PUT_LINE(TO_DATE ('1/1/1'))
13.21.15.Birthday before 1940
13.21.16.Catch exception from to_date function