针对于传入参数可以为空,一个参数,或者是一个列表形式的参数的解决办法
SELECT * FROM LM_LOAN
WHERE
LOAN_TYP IN (
SELECT
( CASE
WHEN 'ALL'=ALL('APLL')
THEN LOAN_TYP ELSE REGEXP_SUBSTR('SHW001,YXD001,YKD001', '[^,]+', 1, ROWNUM)
END )
FROM PROD_CONFIG T1
WHERE IS_BH_UP ='1'
CONNECT BY ROWNUM <= LENGTH('SHW001,YXD001,YKD001') - LENGTH(REPLACE('SHW001,YXD001,YKD001', ',', '')) + 1
) AND INFO_DT=CASE WHEN ''IS NULL THEN INFO_DT ELSE '2018-07-28' END;