R sqldf问题:无法选择日期
问题与此类似() 但误差项不同: 假设我有一张桌子:R sqldf问题:无法选择日期,r,sqldf,R,Sqldf,问题与此类似() 但误差项不同: 假设我有一张桌子: OrderDate Sales 2005-02-28 12 2005-02-28 234 ... 在原始R数据框中,OrderDate的数据类型是double(在as.Date命令之后) 我想从OrderDate='2005-02-28'所在的表中执行类似的操作,但遇到错误: 错误:“sqldf('从OrderDate='2005'所在的表中选择* 我尝试了一些针对列出的问题和其他问题提出的解决方案,但仍然无法解决它 我觉得Order
OrderDate Sales
2005-02-28 12
2005-02-28 234
...
在原始R数据框中,OrderDate的数据类型是double(在as.Date命令之后)
我想从OrderDate='2005-02-28'所在的表中执行类似的操作,但遇到错误:
错误:“sqldf('从OrderDate='2005'所在的表中选择*
我尝试了一些针对列出的问题和其他问题提出的解决方案,但仍然无法解决它
我觉得OrderDate的数据类型有问题,但我不太清楚。例如,当我找到日期的数值并输入到我的条件中时,它遇到了这样一个错误(x是相应的数值):
.verify.JDBC.result(r)“无法检索JDBC结果集”中出错
对于“,:无法从中检索select*的JDBC结果集
OrderDate=x订单数量描述限制3的表格(无法分析“日期”
常量“x”;SQL语句:从OrderDate=x的表中选择*
按数量说明限制订购3[22007-175])
sqldf
与R一样,将日期存储为自1970-01-01以来的天数;有关详细信息,请参阅中的常见问题4
这将有助于:
df <- read.table(header=TRUE, text="OrderDate Sales
2005-02-28 12
2005-02-28 234
2005-03-01 567
2005-03-03 890")
df$OrderDate <- as.Date(df$OrderDate)
library(sqldf)
sqldf(sprintf("select * from df where OrderDate=%i",as.Date("2005-02-28")))
# OrderDate Sales
# 1 2005-02-28 12
# 2 2005-02-28 234
dfsqldf
与R一样,将日期存储为自1970-01-01以来的天数;有关详细信息,请参阅中的常见问题4
这将有助于:
df <- read.table(header=TRUE, text="OrderDate Sales
2005-02-28 12
2005-02-28 234
2005-03-01 567
2005-03-03 890")
df$OrderDate <- as.Date(df$OrderDate)
library(sqldf)
sqldf(sprintf("select * from df where OrderDate=%i",as.Date("2005-02-28")))
# OrderDate Sales
# 1 2005-02-28 12
# 2 2005-02-28 234
dfsqldf
与R一样,将日期存储为自1970-01-01以来的天数;有关详细信息,请参阅中的常见问题4
这将有助于:
df <- read.table(header=TRUE, text="OrderDate Sales
2005-02-28 12
2005-02-28 234
2005-03-01 567
2005-03-03 890")
df$OrderDate <- as.Date(df$OrderDate)
library(sqldf)
sqldf(sprintf("select * from df where OrderDate=%i",as.Date("2005-02-28")))
# OrderDate Sales
# 1 2005-02-28 12
# 2 2005-02-28 234
dfsqldf
与R一样,将日期存储为自1970-01-01以来的天数;有关详细信息,请参阅中的常见问题4
这将有助于:
df <- read.table(header=TRUE, text="OrderDate Sales
2005-02-28 12
2005-02-28 234
2005-03-01 567
2005-03-03 890")
df$OrderDate <- as.Date(df$OrderDate)
library(sqldf)
sqldf(sprintf("select * from df where OrderDate=%i",as.Date("2005-02-28")))
# OrderDate Sales
# 1 2005-02-28 12
# 2 2005-02-28 234
df“sqldf('select*from table where OrderDate='2005')
如果OrderDate
是使用H2后端的字符,则问题中显示的SQL语句将起作用。如果OrderDate
是日期”
class,假设您使用的是H2后端,问题中的代码尝试比较日期和字符类型。尝试此操作以确保比较是在相同的类型之间:sqldf(“select*from table where OrderDate=date'2005-02-28'”)
“sqldf('select*from table where OrderDate='2005'
如果OrderDate
是使用H2后端的字符,则问题中显示的SQL语句将起作用。如果OrderDate
是日期
class,假设您使用的是H2后端,问题中的代码尝试比较日期和字符类型。尝试此操作以确保比较是在相同的类型之间:sqldf(“select*from table where OrderDate=date'2005-02-28'”)
“sqldf('select*from table where OrderDate='2005'
如果OrderDate
是使用H2后端的字符,则问题中显示的SQL语句将起作用。如果OrderDate
是日期
class,假设您使用的是H2后端,问题中的代码尝试比较日期和字符类型。尝试此操作以确保比较是在相同的类型之间:sqldf(“select*from table where OrderDate=date'2005-02-28'”)
“sqldf('select*from table where OrderDate='2005'
如果OrderDate
是使用H2后端的字符,则问题中显示的SQL语句将起作用。如果OrderDate
是日期
class,假设您使用的是H2后端,问题中的代码尝试比较日期和字符类型。尝试此操作以确保比较在相同类型之间:sqldf(“从OrderDate=date'2005-02-28'的表中选择*)