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

执行结果:

相关推荐
数据皮皮侠AI1 分钟前
数字经济政策工具变量数据(2008-2023)
大数据·数据库·人工智能·笔记·1024程序员节
赫尔·普莱蒂科萨·帕塔4 分钟前
从 “脑梗“ 到 “功夫高手“
数据库·人工智能·agi
IvanCodes14 分钟前
openGauss 存储核心机制:从表空间到数据块
数据库·sql·oracle·opengauss
Francek Chen14 分钟前
【IoTDB】时序数据库选型指南:国产自研技术如何应对数据洪流
大数据·数据库·时序数据库·iotdb
白露与泡影16 分钟前
春招 Java 面试大纲:Java+ 并发 +spring+ 数据库 +Redis+JVM+Netty 等
java·数据库·面试
倔强的石头_22 分钟前
金仓数据库 MongoDB 兼容:多模融合下的架构之道与实战体验
数据库
codealy30 分钟前
MYSQL索引失效常见场景 - 数据库性能优化
数据库·mysql·性能优化
九皇叔叔41 分钟前
MySQL数据库 意向锁(初篇)
数据库·mysql
阿拉伯柠檬42 分钟前
MySQL基本查询
linux·数据库·mysql·面试
semantist@语校1 小时前
第五十七篇|东京银星日本语学校的数据建模:高密度城市中的学习节律、制度边界与 Prompt 接口设计
大数据·数据库·人工智能·学习·百度·prompt·知识图谱