数组操作符
数组比较是使用默认的B-tree比较函数对所有元素逐一进行比较的。多维数组的元素按照行顺序进行访问。如果两个数组的内容相同但维数不等,决定排序顺序的首要因素是维数。
=
描述:两个数组是否相等
示例:
1 2 3 4 5 |
SELECT ARRAY[1.1,2.1,3.1]::int[] = ARRAY[1,2,3] AS RESULT; result -------- t (1 row) |
<>
描述:两个数组是否不相等
示例:
1 2 3 4 5 |
SELECT ARRAY[1,2,3] <> ARRAY[1,2,4] AS RESULT; result -------- t (1 row) |
<
描述:一个数组是否小于另一个数组
示例:
1 2 3 4 5 |
SELECT ARRAY[1,2,3] < ARRAY[1,2,4] AS RESULT; result -------- t (1 row) |
>
描述:一个数组是否大于另一个数组
示例:
1 2 3 4 5 |
SELECT ARRAY[1,4,3] > ARRAY[1,2,4] AS RESULT; result -------- t (1 row) |
<=
描述:一个数组是否小于或等于另一个数组
示例:
1 2 3 4 5 |
SELECT ARRAY[1,2,3] <= ARRAY[1,2,3] AS RESULT; result -------- t (1 row) |
>=
描述:一个数组是否大于或等于另一个数组
示例:
1 2 3 4 5 |
SELECT ARRAY[1,4,3] >= ARRAY[1,4,3] AS RESULT; result -------- t (1 row) |
@>
描述:一个数组是否包含另一个数组
示例:
1 2 3 4 5 |
SELECT ARRAY[1,4,3] @> ARRAY[3,1] AS RESULT; result -------- t (1 row) |
<@
描述:一个数组是否被包含于另一个数组
示例:
1 2 3 4 5 |
SELECT ARRAY[2,7] <@ ARRAY[1,7,4,2,6] AS RESULT; result -------- t (1 row) |
&&
描述:一个数组是否和另一个数组重叠(有共同元素)
示例:
1 2 3 4 5 |
SELECT ARRAY[1,4,3] && ARRAY[2,1] AS RESULT; result -------- t (1 row) |
||
描述:数组与元素交叉组合进行连接,即数组与数组进行连接、元素与数组进行连接、数组与元素进行连接。
示例:
1 2 3 4 5 |
SELECT ARRAY[1,2,3] || ARRAY[4,5,6] AS RESULT; result --------------- {1,2,3,4,5,6} (1 row) |
1 2 3 4 5 |
SELECT ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9]] AS RESULT; result --------------------------- {{1,2,3},{4,5,6},{7,8,9}} (1 row) |
1 2 3 4 5 |
SELECT 3 || ARRAY[4,5,6] AS RESULT; result ----------- {3,4,5,6} (1 row) |
1 2 3 4 5 |
SELECT ARRAY[4,5,6] || 7 AS RESULT; result ----------- {4,5,6,7} (1 row) |