类sql与postgreesql中的整数使用r

ia2d9nvy  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(264)

我需要从postgree下载一个表到r,但是要用int的一部分进行过滤。
我一直在尝试:

library(RPostgreSQL)

con <- dbConnect(PostgreSQL(), user= "#####", dbname="######",password="#####"  
                 ,host="#####", port='######')                         

vetor_id <- c("83052407","10406587","12272377")

match_id <- dbGetQuery(con,paste("
                                         SELECT *
                                         FROM public.data2015 
                                         WHERE  id IN ('", paste(vetor_id,collapse = "','"),"')
                                        ",sep = ""))

dbDisconnect(con)

我也试过了 CONTAINS 但没用。
WHERE Contains(id,", paste(vetor_id,collapse = " OR "),"') id 是int和 vetor_id 只是价值观的一部分。我的意思是,向量id=83052407必须找到id=83052407000132。
我怎么能用这样的东西 LIKEvetor_id% ?

kcugc4gi

kcugc4gi1#

这就是你想要的吗?

WHERE id::text like ? || '%'

这将转换整数 id ,并尝试将其与参数匹配。如果 id 从参数开始,条件满足。
请注意,这使用了合法的查询参数(用问号表示):您应该习惯于参数化查询,而不是在查询字符串中串联变量:这样更干净、更高效、更安全。

相关问题