[R] Treatment of Date ODBC objects in R (RODBC)

aavram at mac.com aavram at mac.com
Mon Dec 22 17:52:13 CET 2008

I tend to avoid the issue by asking Oracle for a character string representation of the date. I use sql like this:

to_char( thedatefield, 'yyyymmdd' ) as thedate

Then in R:

d <- as.Date( as.character( thedate, '%Y%m%d') )

Hope this helps,


------Original Message------
From: Ivan Alves
Sender: r-help-bounces at r-project.org
To: r-help at r-project.org
Sent: Dec 22, 2008 8:40 AM
Subject: [R] Treatment of Date ODBC objects in R (RODBC)

Dear all,

Retrieving an Oracle "Date" data type by means of RODBC (version  
1.2-4) I get different classes in R depending on which operating  
system I am in:

On MacOSX I get "Date" class
On Windows I get " "POSIXt" "POSIXct" class

The problem is material, as converting the "POSIXt" "POSIXct" object  
with as.Date() returns one day less ("2008-12-17 00:00:00 CET" is  
returned as "2008-12-16").

I have 2 related questions:

1. Is there a way to control the conversion used by RODBC for types  
"Date"? or is this controlled by the ODBC Driver (in my case the  
Oracle driver in Windows and Actual on Mac OS X)?

2. What is the trick to get as.Date() to return the _intended_ date  
(the date that the OS X environment "correctly" reads)?

Many thanks in advance for any guidance.

Best regards,

R-help at r-project.org mailing list
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Sent from my Verizon Wireless BlackBerry

More information about the R-help mailing list