1.REGEXP_SPLIT_TO_ARRAY 用于分隔字符串成数组
场景示例:对查询页面实现权限控制
在XML中实现
<foreach collection="peopleIds" index="index" item="item" open="(" close=")"
separator="or">
#{item} = any(REGEXP_SPLIT_TO_ARRAY(whp22.completed_people_ids,','))
</foreach>
2.STRING_TO_ARRAY 用于将字符串转为数组
场景示例:某个科室有很多类别1、类别2、类别3三个类别,存到数据库中的数据是 ‘1,2,3’ 我要查找选了类别1的数据
在XML中实现
<if test="param.deptName != null and param.deptName != ''"> AND STRING_TO_ARRAY(bm.dept_name, '、') @> STRING_TO_ARRAY(#{param.deptName},'、') </if>
操作员 | 描述 | 例子 | 结果 |
---|---|---|---|
= | 平等的 | 数组[1.1,2.1,3.1]::int[] = 数组[1,2,3] | t |
<> | 不相等 | 数组[1,2,3] <> 数组[1,2,4] | t |
< | 少于 | 数组[1,2,3] < 数组[1,2,4] | t |
> | 比...更棒 | 数组[1,4,3] > 数组[1,2,4] | t |
<= | 小于或等于 | 数组[1,2,3] <= 数组[1,2,3] | t |
>= | 大于或等于 | 数组[1,4,3] >= 数组[1,4,3] | t |
@> | 包含 | 数组[1,4,3] @> 数组[3,1,3] | t |
<@ | 包含在 | 数组[2,2,7] <@ 数组[1,7,4,2,6] | t |
&& | 重叠(有共同的元素) | 数组[1,4,3] && 数组[2,1] | t |
|| | 数组到数组连接 | 数组[1,2,3] || 数组[4,5,6] | {1,2,3,4,5,6} |
|| | 数组到数组连接 | 数组[1,2,3] || 数组[[4,5,6],[7,8,9]] | {{1,2,3},{4,5,6},{7,8,9}} |
|| | 元素到数组连接 | 3 || 数组[4,5,6] | {3,4,5,6} |
|| | 数组到元素连接 | 数组[4,5,6] || 7 | {4,5,6,7} |