DATA Step, Macro, Functions and more

How SAS read two digit year in Oracle

Posts: 42

How SAS read two digit year in Oracle

Hi SAS users,


I am using SAS on linux platform.

A date column has been pulled from Oracle, the values wilth two digit year are showing as four year digit in SAS datasets .

for instance the date value in Oracle is 12-Jan-00 12:59:59.99999000 PM, SAS is reading it as 12JAN3000:13:00:00.000000.


How sas understanding two digit year 00  as 3000 instead of 2000. I am getting the right year though which is 3000.


I have checked the yearcutoff option in my system, its 1920 ( I got this info by using proc option option=yearcutoff;runSmiley Wink


I am uisng SQL pass through to connect to Oracle server.


Thank you in advance.

Super User
Posts: 13,563

Re: How SAS read two digit year in Oracle

What is the informat shown for the SAS variable?


And I would also ask how you know which century the 12-Jan-00 12:59:59.99999000 value represents?

Posts: 42

Re: How SAS read two digit year in Oracle

In oracle table it two digit year is displaying, but it has 4 digit year. SAS extracting properly only. Thank you for your response.
Respected Advisor
Posts: 4,736

Re: How SAS read two digit year in Oracle

Don't confuse how numbers get printed/formatted with how they are stored.


In Oracle a date value is stored in a column of type DATE (which contains a datetime value). SAS will always convert this into the correct SAS Datetime value. The 2 or 4 digit year is only how values get printed, not how they are stored internally.

Ask a Question
Discussion stats
  • 3 replies
  • 1 like
  • 3 in conversation