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

执行结果:

相关推荐
锅里游的鱼吖36 分钟前
echarts自定义折线图
前端·javascript·数据库
酷虎软件37 分钟前
视频加标题字幕 API 接口文档
java·数据库·mysql
夜雪一千1 小时前
MySQL 触发器有哪些应用场景?从入门场景到避坑实战
数据库·mysql
lusklusklusk1 小时前
Oracle数据库基础之6_外部表临时表分区表_物化视图_约束的介绍
数据库·oracle
智商偏低1 小时前
【无标题】
服务器·数据库·oracle
雨落在了我的手上2 小时前
MySQL数据库基础(1):MySQL的安装-Windows
数据库·mysql
涉密IT资质笔记2 小时前
涉密人员脱密期管理规范:期限分级模型、就业限制边界与违规认定标准
java·服务器·前端·网络·数据库
honsor2 小时前
PoE温湿度传感器:一根网线供电+通信,即插即用,机房/配电室/仓库温湿度监测首选
运维·服务器·网络·数据库·人工智能·安全
XM_jhxx2 小时前
简会AI图纸识别系统功能上新:模板、公差、量具个性化配置上线!
数据库·人工智能·软件工程
java资料站3 小时前
十、向量数据库
数据库