如何在dbGetQuery函数中正确编写表名?

问题描述 投票:0回答:2

我在dbGetQeury函数中指定表名时遇到问题。

命令

data1 <- dbGetQuery(con, "select * from bank_schema.capital")

效果很好。

但是命令

data1 <- dbGetQuery(con, "select * from bank_schema.135_ratios")

提供错误。

con是到postgreSQL数据库的连接对象。

[请帮助我寻找出路。

提前感谢。

sql r postgresql
2个回答
1
投票

Postgres默认情况下不支持以数字开头的表名(其他RDBMS具有相同的限制)。您需要引用表名。考虑:

data1 <- dbGetQuery(con, 'select * from bank_schema."135_ratios"')

或:

data1 <- dbGetQuery(con, "select * from bank_schema.\"135_ratios\"")

但是更好的是,将表重命名为更标准的名称(例如,不以数字开头)会更简单,例如ratios_135


0
投票

您需要用"引用标识符:

data1 <- dbGetQuery(con, "select * from bank_schema.\"135_ratios\"")
© www.soinside.com 2019 - 2024. All rights reserved.