LIKE 使用 R 在 PostgreSQL 中使用整数

LIKE with integers in PostgreeSQL using R

我需要从 postgree 下载 table 到 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 只是值的一部分。我的意思是,vector_id = 83052407 必须找到 id = 83052407000132.

如何使用 LIKE 之类的东西并输入 vetor_id%

这是你想要的吗?

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

这会将整数 id 转换为字符串,并尝试将其与参数进行匹配。如果id 参数开头,则满足条件。

请注意,这使用了合法的查询参数(由问号表示):您应该习惯于对查询进行参数化,而不是在查询字符串中连接变量:这样更简洁、更高效、更安全。