【发布时间】:2021-10-18 17:54:55
【问题描述】:
我正在使用带有 RPostgreSQL 驱动程序的 DBI 包从 amazon redshift 数据库进行查询,并且能够通过简单查询毫无问题地提取表。通过简单的查询,我的意思是这样的:
'SELECT * FROM transactions ORDER BY timestamp DESC LIMIT 200'
当我在具有 FLOAT8 类型的字段上使用 WHERE 语句时,同样没有问题。查询如:
'SELECT * FROM transactions ORDER BY timestamp WHERE transaction_amt < 5 DESC LIMIT 200'
当尝试将 WHERE 语句与类型为 VARCHAR 的字段一起使用时会出现此问题。查询如:
'SELECT * FROM transactions ORDER BY timestamp WHERE type = 'Credit Card' DESC LIMIT 200'
给我一个错误提示:
Error in postgresqlExecStatement(conn, statement, ...) :
RS-DBI driver: (could not Retrieve the result : ERROR: column "credit card" does not exist in transactions
)
我的问题是在将 WHERE 语句与这些包或此特定数据库一起使用时是否有一些特定的语法。为什么它会告诉我“信用卡”列不存在?
在查看有关每个字段的信息时,我确实看到“类型”和许多其他字符列的 Len 为 -1,这可能与它有关吗?
【问题讨论】:
标签: r postgresql amazon-redshift dbi rpostgresql