业务场景:
传参为发票口岸,即'&口岸'
- 若 传参 = '其他' , 则 查表fp.ka字段不等于上海or广州or大连
- 若 传参 <> '其他' , 则 查表fp.ka等于传入值的所有行
- 若 传参为空 , 则 查表的所有行
代码示例:
SELECT fp.ka,fp.*
FROM BJRC_CKFP FP
WHERE 1 = 1
AND fp.ka = ( CASE WHEN '&口岸' IS NOT NULL THEN '&口岸' END)
OR fp.ka = DECODE('&口岸',NULL,ka)
OR (fp.ka <> DECODE('&口岸','其他','上海')
AND fp.ka <> DECODE('&口岸','其他','广州')
AND fp.ka <> DECODE('&口岸','其他','大连')
);