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

执行结果:

相关推荐
@淡 定4 分钟前
Redis热点Key独立集群实现方案
数据库·redis·缓存
laocooon52385788628 分钟前
mysql,100个题目。
数据库·sql·mysql
Web极客码29 分钟前
如何在Ubuntu服务器上安装和配置BIND9
服务器·数据库·ubuntu
W001hhh1 小时前
数据库实训Day004上午
数据库
funfan05171 小时前
【运维】MySQL数据库全量备份与恢复实战指南:从入门到精通
运维·数据库·mysql
+VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue在线音乐播放系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
tq10862 小时前
通用数据引用表示法:基于协议-URI-JSONPath的简洁数据定位规范
数据库
+VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue律师咨询系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
AlfredZhao2 小时前
使用 Oracle 官方 HR Demo 快速验证 RAS 功能(小白实战指南)
oracle·ras
manuel_897572 小时前
六 系统安全
网络·数据库·系统安全