orcale存储过程,传入参数为空的时候,如何忽略该条件,查询全部?

问题描述:

orcale存储过程,传入参数为空的时候,如何忽略该条件,查询全部?

比如有参数时:

SELECT COUNT(1) INTO num FROM DW WHERE F_DWBH=‘xxx’

参数为空时(没有传递参数)

SELECT COUNT(1) INTO num FROM DW

SELECT COUNT(1) INTO num FROM DW WHERE F_DWBH like coalesce(参数,'%%')

使用coalesce函数,如果参数不为null,就等于F_DWBH like 参数,由于没有通配符,此查询等同于F_DWBH = 参数;如果参数为null,就等于F_DWBH like '%%',变为不限制,相当于没有这个条件

if else