在where中使用decode函数

来源:互联网 发布:知我药妆芙丽芳丝 编辑:程序博客网 时间:2024/04/30 03:59
在where中使用decode函数达到要求。
select * from zjk_pos_supplier_order
where ((decode(:code, NULL, 1, 0) = 1) or code = :code)
and order_date >= :order_date;
      以上语句如果:code变量赋值为null,则相当于语句
select * from zjk_pos_supplier_order
where order_date >= :order_date;
      当:code变量不为null时,则相当于
select * from zjk_pos_supplier_order
where code = :code
and order_date >= :order_date;

      对于where语句后是否可以用case或decode语句,答案是可以的,但要保证where语句中仍然是=值判断语句。
原创粉丝点击