PostgreSQL9.3Beta1:新增 Array_remove() 和 Array_replace() 数组函数

PostgreSQL 9.3 新增 array_remove() 和 array_replace() 数组函数,增强了对数组元素的处理功能,下面演示下。

Array_remove()

array_remove():删除数组中指定的元素。
1.1 示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[pg93@redhatB ~]$ psql francs francs
psql (9.3beta1)
Type "help" for help.

francs=> select array_remove(array[1,2,3,4],1);
array_remove
--------------
{2,3,4}
(1 row)

francs=> select array_remove(array[1,2,3,4,1],1);
array_remove
--------------
{2,3,4}
(1 row)

备注:重复的元素也被删除。

Array_replace()

array_replace(): 替换数组中的指定元素值为新值。
2.1 示例

1
2
3
4
5
6
7
8
9
10
11
francs=> select array_replace(array[1,2,3,4],4,5);
array_replace
---------------
{1,2,3,5}
(1 row)

francs=> select array_replace(array[1,2,3,4,4],4,5);
array_replace
---------------
{1,2,3,5,5}
(1 row

备注:重复的元素也被替换。

附: 新增的数组函数

Function Return Type Description
array_remove(anyarray, anyelement) anyarray remove all elements equal to the given value from the array (array must be one-dimensional)
array_replace(anyarray, anyelement, anyelement) anyarray replace each array element equal to the given value with a new value

备注: 有了 array_remove(),array_replace(),array_append() 函数,PostgreSQL 中对数组元素的处理功能在很多场合应该够用了。

参考

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/237970.html

(0)
上一篇 2022年1月29日
下一篇 2022年1月29日

相关推荐

发表回复

登录后才能评论