PostgreSQL中处理数组的函数大全
发表时间: 2024-03-31 08:15
PostgreSQL数据库中数组可用于输入多个数值,每个数据类型都有相应的数组。例如,整数类型的数组 a int[],字符类型的数组 c character[]。如果用户已经定义了数据的类型,那么PostgreSQL将自动创建相应的数组。
PostgreSQL相关的数组函数
PostgreSQL的数组有以下相关函数:
下面介绍每个函数的使用方法:
该函数用于把一个元素追加到数组的末尾,用例如下:
SELECT array_append(array[1, 2, 3, 4, 5], 6);
运行结果如下图:
直接连接两个数组,用例如下:
SELECT array_cat(ARRAY[11, 12, 13, 14, 15], ARRAY[16, 17, 18, 19,20]);
运行结果如下图:
返回数组的维数,用例如下:
SELECT array_ndims(ARRAY[[11, 12, 13, 14, 15], [16, 17, 18, 19,20]]);
运行结果如下图:
返回数组表达式的行数与列数,用例如下:
SELECT array_dims(ARRAY[[11, 12, 13, 14, 15], [16, 17, 18, 19,20]]);
运行结果如下图:
返回初始化的维数与初始值,用例如下:
SELECT array_fill(20, ARRAY[15], ARRAY[10]);
运行结果如下图:
该示例表示数组从第10个元素开始填充15个数值为20的元素。
该函数返回数组的长度,用例如下:
SELECT array_length(array[11, 12, 13, 14, 15], 1);
运行结果如下图:
返回数组的左边界值,用例如下:
SELECT array_lower('[0:4]={11, 12, 13, 14, 15}'::int[], 1);
运行结果如下图:
该函数用于把一个元素插入到数组的开头,用例如下:
SELECT array_prepend(6, array[1, 2, 3, 4, 5]);
运行结果如下图:
删除数组中的一个或多个元素,用例如下:
SELECT array_remove(ARRAY[11, 12, 13, 14, 15, 11, 11], 11);
运行结果如下图:
替换数组中的一个或多个元素,用例如下:
SELECT array_replace(ARRAY[11, 12, 13, 14, 15, 11, 11], 11, 21);
运行结果如下图:
把数组转换成字符串,用例如下:
SELECT array_to_string(ARRAY[11, 12, 13, NULL, 15], ',', '*');
运行结果如下图:
返回数组的右边界值,用例如下:
SELECT array_upper(ARRAY[11, 12, 13, 14, 15], 1);
运行结果如下图:
把字符串转换成数组,用例如下:
SELECT string_to_array('AB~^~CD~^~EF', '~^~', 'XY');
运行结果如下图:
把数组转换为行记录,用例如下:
SELECT unnest(ARRAY[11, 12, 13, 14, 15]);
运行结果如下图:
(本文完)