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函数实操积累》可以找到
正文到此结束