JPA 使用@query 时,判断数组

一般如果使用@query时,

我们的sql是这样的:

select * from t
where (ifnull(:a,'')='' or t.a=:a)
and (ifnull(:b,'')='' or t.b=:b)

但如果a参数是一个数组a=[1,2,3],怎么办?ifnull会变成ifnull(1,2,3,'')=''

这时我们可以使用  COALESCE(:a) is null

select * from t
where (COALESCE(:a) is null or t.a in (:a))
and (ifnull(:b,'')='' or t.b=:b)

 

posted @ 2023-04-28 18:34  正怒月神  阅读(159)  评论(0编辑  收藏  举报