DATA Step, Macro, Functions and more

How SAS read two digit year in Oracle

Reply
Contributor
Posts: 40

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: 10,500

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?

Contributor
Posts: 40

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: 3,890

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
  • 236 views
  • 1 like
  • 3 in conversation