VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

ARRAY_POSITIONS

功能描述

ARRAY_POSITIONS函数用于返回在第一个参数给定的数组(数组必须为一维数组)中,第二个参数所有出现的位置的下标所组成的数组。如果指定的第二个参数为NULL,则返回NULL在数组中出现的位置,如果第二个参数在数组中不存在,则返回{}。

注意事项

该功能仅在数据库兼容模式为PostgreSQL时支持(即数据库初始化时指定DBCOMPATIBILITY='PG')。

语法格式

array_positions(anyarray, anyelement)

示例

示例1:直接调用ARRAY_POSITIONS函数,显示数组中'A'的位置。

SELECT array_positions(ARRAY['A','A','B','A'],'A');

结果放如下:

 array_positions
-----------------
 {1,2,4}
(1 row)

示例2:对表数据调用ARRAY_POSITIONS函数。

1、创建测试表并插入测试数据。

create table tb1_1157387(col1 int[],col2 int,col3 varchar);
insert into tb1_1157387 value('{0,1,2,3,4,5,6,4,4}',4,'aaa');

2、调用ARRAY_POSITIONS函数。

select array_positions(col1,col2) from tb1_1157387;

结果返回如下:

 array_positions
-----------------
 {5,8,9}
(1 row)