SQL/PLSQL:在where条件中写case when和decode
2017-03-14 14:21
337 查看
业务场景:
传参为发票口岸,即'&口岸'
若 传参 = '其他' , 则 查表fp.ka字段不等于上海or广州or大连
若 传参 <> '其他' , 则 查表fp.ka等于传入值的所有行
若 传参为空 , 则 查表的所有行
代码示例:
传参为发票口岸,即'&口岸'
若 传参 = '其他' , 则 查表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('&口岸','其他','大连') );
相关文章推荐
- SQL中条件语句decode与case...when...else...end的用法
- sql:case when的各种用法及怎么把case when放在where里面作为条件表达式
- PLSQL条件语句完成员工加薪功能(记录类型+游标case when+if+for update+where current of)
- sql的where后面的多个条件case when判断执行
- SQL利用Case When Then多条件判断
- SQL利用Case When Then多条件判断
- SQL条件控制(case when...then...else...end)
- SQL利用Case When Then多条件判断
- 用case when 动态给sql 添加 查询条件
- sql中用case when实现复杂条件查询
- MSSQL 2005 SQL利用Case When Then多条件判断
- sql 中用case when实现复杂的条件查询
- T-SQL利用Case When Then多条件判断
- SQL利用Case When Then多条件判断
- sql 利用 case when then 多条件判断
- Oracel SQL Note - decode / case when / distinct clob / RAC flow
- SQL利用Case When Then多条件判断
- sql T_sql 利用Case When Then多条件判断SQL 语句
- sql语句中的条件控制 case ..when.
- SQL利用Case When Then多条件判断