【问题标题】:Error making a selection in Teradata with R使用 R 在 Teradata 中进行选择时出错
【发布时间】: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 - 所以这可能是导致错误的原因之一

标签: sql r teradata


【解决方案1】:

正如 Shiva Prakash 建议的那样,这终于奏效了:

clients

这是一个错误,因为函数 year 是 odbc 函数而不是 Teradata。 谢谢你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多