更新时间:2024-11-27 GMT+08:00

数组操作符

数组比较是使用默认的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)