【发布时间】:2019-12-06 11:31:15
【问题描述】:
当我尝试在 sql 语句中使用 where 导入 teradata 数据时,出现以下错误
clients<-dbGetQuery(con, "SELECT * from clients where year(cl_dataentrada) = 2018")
new_result(connection@ptr, statement) 中的错误: nanodbc/nanodbc.cpp:1344: 42000: [Teradata][ODBC Teradata Driver]Teradata DatabaseSyntax 错误:预期在“where”关键字和“year”关键字之间存在某些内容。
clients<-data.frame(clients)
我也试过了:
clients<- dbSendQuery(con, "SELECT * from clients where year(cl_dataentrada) = 2018")
new_result(connection@ptr, statement) 中的错误: nanodbc/nanodbc.cpp:1344: 42000: [Teradata][ODBC Teradata Driver]Teradata DatabaseSyntax 错误:预期在“where”关键字和“year”关键字之间存在某些内容。
也在一个 sql 块中:
SELECT * from clients where year(cl_dataentrada) = 2018
new_result(connection@ptr, statement) 中的错误: nanodbc/nanodbc.cpp:1344: 42000: [Teradata][ODBC Teradata Driver]Teradata DatabaseSyntax 错误:预期在“where”关键字和“year”关键字之间存在某些内容。 SQL chunk 执行失败
【问题讨论】:
-
这可能是驱动程序问题。你可以试试
Extract(year from cl_dataentrada)。函数year是 odbc 函数而不是 Teradata - 所以这可能是导致错误的原因之一