sql - LIKE 使用 R 在 PostgreeSQL 中使用整数
问题描述
我需要从 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
只是值的一部分。我的意思是,vector_id = 83052407 必须找到 id = 83052407000132。
我怎样才能使用LIKE
和 put之类的东西vetor_id%
?
解决方案
这是你想要的吗?
WHERE id::text like ? || '%'
这会将整数转换id
为字符串,并尝试将其与参数匹配。如果id
以参数开头,则满足条件。
请注意,这使用了合法的查询参数(由问号表示):您应该习惯于参数化查询,而不是连接查询字符串中的变量:这样更简洁、更高效、更安全。
推荐阅读
- google-cloud-storage - Apache Beam 可以检测 Spark 和 Pandas 等 Parquet 文件的模式(列名)吗?
- java - RabbitMQ 微服务 - 并行处理
- python - 从嵌套字典中提取匹配值
- swift - AwakeFromNib 没有被调用,单元格渲染但出口为零
- php - 生成动态表单以显示在管理视图中
- excel - Excel 显示错误的日期时间格式
- schema.org - 微数据:为什么 Google 要求在场地举办活动?
- python - 使用 gRPC 响应
- python - Python Matplotlib (1) 将 x 轴标签格式化为 Year-Quarter 和 (2) 将 major_locator 设置为月末
- xslt - 使用 XSLT 1.0 选择同级记录直到下一个标记