需求场景:
SQL接收一个或者多个参数;现在想要实现当参数不为空时传对应参数,参数为空时让条件失效,使得SQL返回所有的结果集。
实现思路:
利用AND 、OR 运算符的特性实现,OR 运算符只要一个为真,结果就为真。
示例SQL:
--接收的参数为:<!P_CODE!>
SELECT * FROM TABLE_USERS
WHERE USERCODE=<!P_CODE!> OR 1=NVL2(<!P_CODE!>,2,1)
需求场景:
SQL接收一个或者多个参数;现在想要实现当参数不为空时传对应参数,参数为空时让条件失效,使得SQL返回所有的结果集。
实现思路:
利用AND 、OR 运算符的特性实现,OR 运算符只要一个为真,结果就为真。
示例SQL:
--接收的参数为:<!P_CODE!>
SELECT * FROM TABLE_USERS
WHERE USERCODE=<!P_CODE!> OR 1=NVL2(<!P_CODE!>,2,1)