Oracle把逗号分割的字符串转换为可放入in的条件语句的字符数列

前台传来字段 v_name的值是'1,2'

然后sql是 select * from user where name in (v_name)

直接查是错的,所以要将v_name进行处理

SELECT REGEXP_SUBSTR(v_name, '[^,]+', 1, LEVEL) FROM DUAL
CONNECT BY REGEXP_SUBSTR(v_name, '[^,]+', 1, LEVEL) IS NOT NULL

然后将in里面的v_name替换成下面的语句就可以了


你可能感兴趣的:(oracle数据库)