Oracle数据中如何在 where in() 条件传参

一、问题场景描述

在sql 条件中,如何在 where in()中想传入参数,如果直接 where in(:seqList),当传入单个值,seqList:= '80' 是没问题的,但是初入多个值时,seqList:= '80,90' ,因缺少单引号,导致查询结果不对。

二、解决办法

使用正则变换函数 regexp_substr()

javascript 复制代码
select * from fa_receita_farmacia_proc t where  t.NR_SEQUENCIA in 
        (SELECT 
         REGEXP_SUBSTR(:V_parameter,'[^,]+', 1, LEVEL) 
         FROM DUAL 
         CONNECT BY 
         REGEXP_SUBSTR(:V_parameter, '[^,]+', 1, LEVEL) IS NOT NULL) ;

测试数据: 20,30,40

执行结果:

相关推荐
2401_8319207418 分钟前
Python生成器(Generator)与Yield关键字:惰性求值之美
jvm·数据库·python
lifewange31 分钟前
Hive数据库
数据库·hive·hadoop
运维 小白34 分钟前
3. 部署redis服务并监控redis
数据库·redis·缓存
2401_8426236538 分钟前
使用Seaborn绘制统计图形:更美更简单
jvm·数据库·python
wanhengidc1 小时前
云手机会导致本地数据被读取吗
运维·服务器·数据库·游戏·智能手机
是Yu欸1 小时前
LangGraph 智能体状态管理与决策
java·javascript·数据库
一只努力的微服务1 小时前
【Calcite 系列】深入理解 Calcite 的 SetOpToFilterRule
大数据·数据库·calcite·优化规则
2401_832035341 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
Fang fan1 小时前
Redis基础数据结构
数据结构·数据库·redis·缓存·bootstrap·sentinel
星空露珠2 小时前
迷你世界UGC3.0脚本Wiki对象模块管理接口 GameObject
开发语言·数据库·算法·游戏·lua