如何在 dbGetQuery 语句中正确使用下划线
How to use underscore properly in a dbGetQuery statement
我想通过 dbGetQuery 连接到数据库。为此,我有类似的东西(使用 SQL oracle):
v <- "Variable_Set_Pri"
output <- dbGetQuery(con,paste('select *',
' from Set_Name',
' WHERE Descr = ', v , sep=""))
其中 con 是与数据库的连接。 运行 此查询给出以下错误消息:
Error in .verify.JDBC.result(r, "Unable to retrieve JDBC result set for ", :
Unable to retrieve JDBC result set for select * from Set_Name WHERE DESCR = Variable_Set_Pri (ORA-00904: "VARIABLE_SET_PRI": invalid identifier
)
但是,如果我直接 运行 SQL oracle 命令,它就可以完美运行。上面的代码有什么问题?
Variable_Set_Pri是字符串值,不是列名,所以需要用单引号括起来('
):
output <- dbGetQuery(con,paste("select *",
" from Set_Name",
" WHERE Descr = '", v , "'", sep=""))
我想通过 dbGetQuery 连接到数据库。为此,我有类似的东西(使用 SQL oracle):
v <- "Variable_Set_Pri"
output <- dbGetQuery(con,paste('select *',
' from Set_Name',
' WHERE Descr = ', v , sep=""))
其中 con 是与数据库的连接。 运行 此查询给出以下错误消息:
Error in .verify.JDBC.result(r, "Unable to retrieve JDBC result set for ", :
Unable to retrieve JDBC result set for select * from Set_Name WHERE DESCR = Variable_Set_Pri (ORA-00904: "VARIABLE_SET_PRI": invalid identifier
)
但是,如果我直接 运行 SQL oracle 命令,它就可以完美运行。上面的代码有什么问题?
Variable_Set_Pri是字符串值,不是列名,所以需要用单引号括起来('
):
output <- dbGetQuery(con,paste("select *",
" from Set_Name",
" WHERE Descr = '", v , "'", sep=""))