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

执行结果:

相关推荐
数据库砖家7 分钟前
YashanDB 知识库|轻松打通多库数据,YashanDB DBLink 使用指南!
数据库
二进制_博客8 分钟前
高德MCP制作旅游攻略
数据库·旅游
数据库砖家9 分钟前
YashanDB 知识库|如何用闪回功能救回误删的数据?全流程实战演示
数据库
数据库砖家12 分钟前
YashanDB 知识库|手把手教你回收表空间,释放磁盘的正确姿势!
数据库
一只栖枝17 分钟前
关于OCP认证:有Oracle和MySQL两种
数据库·mysql·oracle·开闭原则·数据管理·ocp认证
小Tomkk31 分钟前
StarRocks SRCA 考试心得总结
数据库·数据库 starrocks·srca
千千寰宇39 分钟前
[数据库/SQL] 浅谈DDL、DSL、DCL、DML、DQL
数据库
爱编程的小新☆1 小时前
【MySQL】数据类型和表的操作
java·数据库·mysql
聪明的墨菲特i2 小时前
SQL进阶知识:七、数据库设计
数据库·sql·mysql·oracle·db2·数据库设计·范式
APItesterCris4 小时前
Flutter 移动端开发:集成淘宝 API 实现商品数据实时展示 APP
大数据·数据库·flutter