在项目中遇到需要动态拼接查询条件的需求,现将解决方案列于下。

  一、

select * from table t where ('$(param)' is null or t.filed = '$(param)')

    使用方式:可以在拼接查询条件时进行判断,若param存在则传该参数,若不存在则不传任何参数。

  二、

select *
  from table t
 where t.filed || '' = (case '$(param)'
         WHEN '-1' THEN
          t.filed || ''
         ELSE
          '$(param)'
       END)  

    使用方式:拼接查询条件时若param为空,则将其赋值为-1,否则传真实参数。

转载于:https://www.cnblogs.com/ladyM/p/11171486.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐