原创

MySQL-精确查询字符串中的数据-逗号分割-空格分割

   示例1:中文中间用空格分割

  //{"displayValue":"张真 赵博 马海军 许宁 叶凯 张敏 吕恒 白琳","real":{"blacklist":{"30247":{}},"orgs":{"30247":{"parent_id":"30125","id":"30247","Type":"department","blacklist":{}}}},"appointId":"30125"}


    //按名称全等于查询,这里displayValue的值是中间用空格给开的
    //匹配最左边的
    String like1 = "renyuanfanwei like '{\"displayValue\":\"" + userName + " %\",\"real\":%'";
    //匹配中间的
    String like2 = "renyuanfanwei like '{\"displayValue\":\"% " + userName + " %\",\"real\":%'";
    //匹配最最右边的
    String like3 = "renyuanfanwei like '{\"displayValue\":\"% " + userName + "%\",\"real\":%'";
    //只有一个人的时候
    String like4 = "renyuanfanwei like '{\"displayValue\":\"" + userName + "\",\"real\":%'";

    conditions.add("(" +like1 + " or "+ like2 + " or " + like3 + " or " + like4 + ")");
   示例2:前后、中间用逗号分割
   另外如果有前后逗号的(例如 ,1,2,3, ),可以使用  ui.node_id_list like concat('%,',#{parentId},',%')
// 另外mysql5.7 以上可以尝试json相关的函数来查询,
应该从《MySQL-JSON函数实操积累》可以找到
正文到此结束
本文目录