sql语句借助case when实现自动拼装where条件
2019-07-31 本文已影响0人
不务正业的coder
遇到这样一个场景,一条SQL语句,根据A字段查询,在没有mybatis情况下,如何实现“如果A字段为空,则查询全量,否则根据A字段过滤。
经过摸索,可以借助case when ... else end 在where中实现。
select * from http_summary
where
CASE
when '$api' != '全部' then to_api='$api'
else to_api=to_api
END
and trace_date ='$traceDate'