更新时间:2025-05-29 GMT+08:00

数组操作符

=

描述:两个数组是否相等。

示例:

1
2
3
4
5
gaussdb=# SELECT ARRAY[1.1,2.1,3.1]::int[] = ARRAY[1,2,3] AS RESULT ;
 result 
--------
 t
(1 row)

<>

描述:两个数组是否不相等。

示例:

1
2
3
4
5
gaussdb=# SELECT ARRAY[1,2,3] <> ARRAY[1,2,4] AS RESULT;
 result 
--------
 t
(1 row)

<

描述:一个数组是否小于另一个数组。

示例:

1
2
3
4
5
gaussdb=# SELECT ARRAY[1,2,3] < ARRAY[1,2,4] AS RESULT;
 result 
--------
 t
(1 row)

>

描述:一个数组是否大于另一个数组。

示例:

1
2
3
4
5
gaussdb=# SELECT ARRAY[1,4,3] > ARRAY[1,2,4] AS RESULT;
 result 
--------
 t
(1 row)

<=

描述:一个数组是否小于或等于另一个数组。

示例:

1
2
3
4
5
gaussdb=# SELECT ARRAY[1,2,3] <= ARRAY[1,2,3] AS RESULT;
 result 
--------
 t
(1 row)

>=

描述:一个数组是否大于或等于另一个数组。

示例:

1
2
3
4
5
gaussdb=# SELECT ARRAY[1,4,3] >= ARRAY[1,4,3] AS RESULT;
 result 
--------
 t
(1 row)

@>

描述:一个数组是否包含另一个数组。

示例:

1
2
3
4
5
gaussdb=# SELECT ARRAY[1,4,3] @> ARRAY[3,1] AS RESULT;
 result 
--------
 t
(1 row)

<@

描述:一个数组是否被包含于另一个数组。

示例:

1
2
3
4
5
gaussdb=# SELECT ARRAY[2,7] <@ ARRAY[1,7,4,2,6] AS RESULT;
 result 
--------
 t
(1 row)

&&

描述:一个数组是否和另一个数组重叠(有共同元素)。

示例:

1
2
3
4
5
gaussdb=# SELECT ARRAY[1,4,3] && ARRAY[2,1] AS RESULT;
 result 
--------
 t
(1 row)

||

  • 描述:数组与数组进行连接。

    示例:

    1
    2
    3
    4
    5
    gaussdb=# 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
    gaussdb=# 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
    gaussdb=# SELECT 3 || ARRAY[4,5,6] AS RESULT;
      result   
    -----------
     {3,4,5,6}
    (1 row)
    
  • 描述:数组与元素进行连接。

    示例:

    1
    2
    3
    4
    5
    gaussdb=# SELECT ARRAY[4,5,6] || 7 AS RESULT;
      result   
    -----------
     {4,5,6,7}
    (1 row)
    

数组比较是使用默认的B-tree比较函数对所有元素逐一进行比较的。多维数组的元素按照行顺序进行访问。如果两个数组的内容相同但维数不等,决定排序顺序的首要因素是维数。