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

执行结果:

相关推荐
冰冰菜的扣jio3 分钟前
入门redis——让你的查询快到起飞
数据库·redis·缓存
drebander5 分钟前
MyBatis-Plus saveBatch 在异步线程中事务未提交问题排查与修复
数据库·mybatis
论迹18 分钟前
【Redis】-- key的过期策略
数据库·redis·缓存
weixin1997010801628 分钟前
废旧物资 item_search - 按关键字搜索商品列表接口对接全攻略:从入门到精通
数据库·python
l1t31 分钟前
快速加载CSV文件到数据库的工具pg_csv_loader
数据库·算法
无忧智库32 分钟前
深度拆解:某大型医院“十五五”智慧医院建设方案,如何冲刺互联互通五级乙等?(附技术架构与实施路径)
java·数据库·架构
moxiaoran575333 分钟前
Java使用Redis ZSet恢复用户能量
数据库·redis·哈希算法
wtsolutions35 分钟前
Sheet-to-Doc模板设计最佳实践:创建专业的Word模板
前端·javascript·数据库
辞砚技术录36 分钟前
MySQL面试题——索引、B+树
数据结构·数据库·b树·面试
风吹落叶花飘荡39 分钟前
mysql数据库创建新用户,并只给其必要的权限
数据库·mysql