R,RPostgreSQL:查询中的向量
R, RPostgreSQL: a vector in a query
使用 RPostgreSQL 包,我必须在 string
:
中使用 vector
进行查询
dbGetQuery(con, "select from id_table where id_user in tmp")
其中 tmp
应该是长度为 10k 的列表或向量,我该怎么做?谢谢
你可以使用paste0。这是一个示例,我使用 state.abb 数据集
valid_state_logic=paste0("(",paste0("'",state.abb,"'", collapse=","),")")
print(valid_state_logic)
[1] "('DC','AL','AK','AZ','AR','CA','CO','CT','DE','FL','GA','HI','ID','IL','IN','IA','KS','KY','LA','ME','MD','MA','MI','MN','MS','MO','MT','NE','NV','NH','NJ','NM','NY','NC','ND','OH','OK','OR','PA','RI','SC','SD','TN','TX','UT','VT','VA','WA','WV','WI','WY')"
试试这个:
query = sprintf("select * from id_table where id_user in (%s)", paste("'",tmp, "'",collapse=","))
dbGetQuery(con, query)
希望对您有所帮助。
使用 RPostgreSQL 包,我必须在 string
:
vector
进行查询
dbGetQuery(con, "select from id_table where id_user in tmp")
其中 tmp
应该是长度为 10k 的列表或向量,我该怎么做?谢谢
你可以使用paste0。这是一个示例,我使用 state.abb 数据集
valid_state_logic=paste0("(",paste0("'",state.abb,"'", collapse=","),")")
print(valid_state_logic)
[1] "('DC','AL','AK','AZ','AR','CA','CO','CT','DE','FL','GA','HI','ID','IL','IN','IA','KS','KY','LA','ME','MD','MA','MI','MN','MS','MO','MT','NE','NV','NH','NJ','NM','NY','NC','ND','OH','OK','OR','PA','RI','SC','SD','TN','TX','UT','VT','VA','WA','WV','WI','WY')"
试试这个:
query = sprintf("select * from id_table where id_user in (%s)", paste("'",tmp, "'",collapse=","))
dbGetQuery(con, query)
希望对您有所帮助。