SQLSUGAR JSON 函数 多值过滤用例 返回

SqlSugar 处理完成
6 777

image.png


SqlFunc.JsonListObjectAny 也是一样原理实现就不写用例了

 

热忱回答6

  • lyndon lyndon VIP0
    2024/5/11

    [{type:1,state:true}, {type:2,state:false}]

    SqlFunc.JsonListObjectAny 如何实现查找 type == 1 && state == true ?

    0 回复
  • fate sta fate sta VIP0
    2024/5/11

    @lyndon


    Or( SqlFunc.JsonListObjectAny(list,"name1","a")=="a"&&  SqlFunc.JsonListObjectAny(list,"name2","b")=="b")

    0 回复
  • lyndon lyndon VIP0
    2024/5/11

    @fate sta

    数据a: [{type:1,state:true}, {type:1,state:false}, {type:2,state:true}]

    数据b: [{type:1,state:false}, {type:2,state:true}, {type:2,state:false}]

    需求:只查出有{type:1,state:true} 的数据a,(sql:"s"."json_data"::jsonb @> '[{"type":1,"state":true}]'::jsonb )。

    SqlFunc.JsonListObjectAny(list,"type",1) &&  SqlFunc.JsonListObjectAny(list,"state",true) 会把a和b都查出来。

    0 回复
  • fate sta fate sta VIP0
    2024/5/11

    @lyndon:先用sqlfunc.JsonLike实现吧 或者用扩展函数 ,这块后面加强一下

    0 回复
  • LF LF VIP0
    1个月前

    bool类型现在是没法查询吗?

    0 回复
  • fate sta fate sta VIP0
    1个月前

    @LF:你看一下扩展函数,复杂的JSON对象可以用扩展函数实现

    0 回复