在where中使用decode函数

在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语句中仍然是=值判断语句。

你可能感兴趣的:(数据库)