从SQL Server导入日期到R

时间:2016-01-07 21:04:06

标签: sql-server r date

我正在尝试查询SQL Server数据库以在一个字段中检查MAX日期,并选择第二天输入到另一个进程。我能够查询数据库并撤回日期,但我无法将其转换为日期对象。

以下是我的尝试:

tmpMaxDate <- sqlQuery(dbhandle, 'select MAX([date]) + 1 from dbo.My_Data ')
tmpMaxDate

1 2016-01-02
IsDate(tmpMaxDate)
[1] FALSE

maxDate    <- as.Date(tmpMaxDate)
Error in as.Date.default(tmpMaxDate) : 
  do not know how to convert 'tmpMaxDate' to class “Date”
maxDate
NULL
IsDate(maxDate)
[1] FALSE


maxDate <- as.Date(tmpMaxDate, format = "%Y-%M-%D")
Error in as.Date.default(tmpMaxDate, format = "%Y-%M-%D") : 
  do not know how to convert 'tmpMaxDate' to class “Date”

IsDate(maxDate)
[1] FALSE
maxDate
NULL

我使用的软件包是RODBC,chron,lubridate和RSQLserver 我以为我需要转换为日期对象以使用R中SQL Server的日期。

为什么我的约会不会转换?我是否需要转换为能够使用该日期来过滤R?

中的数据

1 个答案:

答案 0 :(得分:0)

DateVar <- sqlQuery(dbhandle,"SELECT CONVERT(varchar(10),GETDATE() + 1,101) as Date")
DateVar
NewDate <- as.Date(DateVar$Date, format = "%m/%d/%y")
NewDate

我认为我的诀窍是给日期响应一个列名,然后在转换中引用该列(是转换所需的特定字符串值)。

class(NewDate)

将显示为“日期”