我正在尝试查询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?
中的数据答案 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)
将显示为“日期”