oracle给逗号分割的数据添加引号

1111111111.jpg

话说这么写虽然能运行,但是运行出来是空的,为什么呢?前台接过来的参数是10010,00902,10590这种格式

愤怒的老头 发布于 2021-7-7 10:39
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
liu.yangLv2初级互助
发布于2021-7-7 13:53(编辑于 2021-7-7 13:58)

这样写把   用 instr 函数 where  instr('10010,00902,10590',MATNR)>0

你那样操作 无非就是想要 查询 matnr  是你传参的那部分

最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-7-7 10:59

image.png

你这个是 in (''10010','00902','10590''),只要两个"||"中间这一段

  • 愤怒的老头 愤怒的老头(提问者) 只要||里边的,貌似也不得行
    2021-07-07 11:31 
  • Z4u3z1 Z4u3z1 回复 愤怒的老头(提问者) 看一下日志中该语句的具体执行情况呢
    2021-07-07 11:34 
最佳回答
0
StudyYLLv6初级互助
发布于2021-7-7 13:44(编辑于 2021-7-7 13:59)

这样的in永远只有一个参数值吧。并不是想象中的按“,”分割开的多个值。

in后面换成

(select REGEXP_SUBSTR(''''||replace('10010,00902,10590',',',''',''')||'''','[^,]+',1,ROWNUM) AS s

from dual

CONNECT BY ROWNUM<=3)

试试

  • 3关注人数
  • 342浏览人数
  • 最后回答于:2021-7-7 13:59
    请选择关闭问题的原因
    确定 取消
    返回顶部