R RODBC sqlQuery和WHERE子句用于搜索时间戳

R RODBC sqlQuery和WHERE子句用于搜索时间戳,r,timestamp,where,rodbc,R,Timestamp,Where,Rodbc,我无法让RODBC sqlQuery函数返回带有WHERE子句的查询,该子句在时间戳上搜索。数据库的数据类型是timestamp。我不在乎时间,我真的只想要日期(但是,为了将来的可伸缩性,知道如何使用时间可能没那么糟糕)。下面是一个非常简单的例子。我知道这些记录是存在的 sqlQuery(conn.prb, paste("SELECT * FROM x", "WHERE ENDDATE > 2014-12-22"), max=10) 我得到的错误是: [1] “42818-401[IB

我无法让RODBC sqlQuery函数返回带有WHERE子句的查询,该子句在时间戳上搜索。数据库的数据类型是timestamp。我不在乎时间,我真的只想要日期(但是,为了将来的可伸缩性,知道如何使用时间可能没那么糟糕)。下面是一个非常简单的例子。我知道这些记录是存在的

sqlQuery(conn.prb, paste("SELECT * FROM x", 
"WHERE ENDDATE > 2014-12-22"), max=10)
我得到的错误是:

[1] “42818-401[IBM][CLI驱动程序][DB2/AIX64]SQL0401N操作\“>\”的操作数的数据类型不兼容或不可比较。SQLSTATE=42818\r\n”


任何帮助都将不胜感激。谢谢

显然,对于DB2 ODBC驱动程序,日期需要在双引号SELECT语句中单引号。

我认为您应该将日期括在两个刻度之间:
“SELECT*from x where ENDDATE>‘2014-12-22’”
只是为了确定:您使用的是哪种RDBMS?SQL server、MySQL、PostgreSQL等?在SQL中,字符串、日期等要求单引号是标准的。让R字符串包含单引号的最简单方法是使用双引号来标记字符串的开始和结束,但也可以使用反斜杠转义单引号。