PostgreSQL数组函数介绍及实例

645 阅读4分钟

PostgreSQL Array Functions

介绍PostgreSQL数组函数

PostgreSQL数组函数基本上是用来连接输入值的。在PostgreSQL中,我们在数据库表中使用的每种类型的数据都有自己的数组;例如,如果数据包含整数值,我们就有整数[]数组,如果数据包含字符值,我们就有字符[]数组。即使用户已经定义了自己的数据类型,PostgreSQL也会自动创建一个数据数组。在PostgreSQL中Array_upper, array_lower, array_fill, unset, array_to_string, string_to_array, array_append, array_cat等数组函数都是可用的。

PostgreSQL 的数组函数

下面是PostgreSQL中可用的数组函数。

  1. Array_append() 函数
  2. Array_cat() 函数
  3. Array_ndims()函数
  4. Array_dims()函数
  5. Array_fill()函数
  6. Array_length()函数
  7. Array_lower()函数
  8. Array_prepend()函数
  9. Array_remove()函数
  10. Array_replace()函数
  11. Array_to_string()函数
  12. Array_upper()函数
  13. 函数String_to_array
  14. 取消设置函数

下面是PostgreSQL中数组函数的描述。

1.Array_append() 函数

这个数组函数用来将元素追加到数组的末端。下面是array_append函数的例子和语法。

语法

Array_append(array ((Any_array)任何我们用过array_append函数的数组元素, element(任何我们用过array_append函数的元素))

例子

SELECT array_append(array[1, 2, 3, 4, 5], 6);

输出。

PostgreSQL Array Functions output 1

2.Array_cat() 函数

这个数组函数用于连接PostgreSQL中的两个数组。下面是array_cat函数的例子和语法。

语法

Array_cat(Array1 (任何我们用过array_cat函数的数组元素), Array2 (任何我们用过array_cat函数的数组元素))

例子

SELECT array_cat(ARRAY[11, 12, 13, 14, 15], ARRAY[16, 17, 18, 19,20]);

输出。

PostgreSQL Array Functions output 2

3.Array_ndims()函数

这个数组函数用于返回数组的尺寸。下面是array_ndims函数的例子和语法。

语法

Array_ndims(Any_array (Any array element which was we have used with array_ndims function), any_array)

例子

SELECT array_ndims(ARRAY[[11, 12, 13, 14, 15], [16, 17, 18, 19,20]]);

输出。

PostgreSQL Array Functions output 3

4.Array_dims() 函数

这个数组函数用于返回数组的文本尺寸。下面是array_dims函数的例子和语法。

语法

Array_dims(Any_array (Any array element which was we have used with Array_dims function), any_array)

例子

SELECT array_dims(ARRAY[[11, 12, 13, 14, 15], [16, 17, 18, 19,20]]);

输出。

PostgreSQL Array Functions output 4

5.Array_fill() 函数

这个数组函数用于返回数组的初始化尺寸和提供的值。下面是array_fill函数的例子和语法。

语法

Array_fill(Any_element(使用array_fill函数的数组元素), int[], int[])

例子

SELECT array_fill(20, ARRAY[15], ARRAY[10]);

输出。

PostgreSQL Array Functions output 5

6.Array_length() 函数

这个数组函数用于返回一个数组的长度。下面是array_length函数的例子和语法。

语法

Array_length(Any_array (Any array element which was we have used with Array_length function), integer_number)

例子

SELECT array_length(array[11, 12, 13, 14, 15], 1);

输出。

output 6

7.Array_lower() 函数

这个数组函数用于返回一个数组的下限。下面是array_lower函数的例子和语法。

语法

Array_lower(Any_array (Any array element which was we have used with array_lower function), integer_number)

例子

SELECT array_lower('[0:4]={11, 12, 13, 14, 15}'::int[], 1);

输出。

output 7

8.Array_prepend() 函数

这个数组函数用于追加数组的起始元素。下面是array_prepend函数的例子和语法。

语法

Array_prepend(array (element(Any element which was used with array_prepend function), (Any_array)Any array element which was we have used with array_prepend function)

例子

SELECT array_prepend(6, array[1, 2, 3, 4, 5]);

输出。

output 8

9.Array_remove() 函数

这个数组函数用于移除与给定数组相等的元素。下面是array_remove函数的例子和语法。

语法

Array_remove(array ((Any_array)任何我们用过array_remove函数的数组元素, element(任何用过array_remove函数的元素))

例子

SELECT array_remove(ARRAY[11, 12, 13, 14, 15, 11, 11], 11);

输出。

output 9

10.Array_replace() 函数

这个数组函数用于替换新的元素,这些元素等于给定数组的旧元素。下面是array_replace函数的例子和语法。

语法

Array_replace(array ((Any_array)任何我们用过array_replace函数的数组元素, element(任何用过array_replace函数的元素), element(任何用过array_replace函数的元素) )

例子

SELECT array_replace(ARRAY[11, 12, 13, 14, 15, 11, 11], 11, 21);

输出。

output 10

11.Array_to_string() 函数

这个数组函数用来连接数组元素,使用null sting和提供的参数。下面是array_to_string函数的例子和语法。

语法

Array_to_string(Any_array (Any array element which was we have used with array_to_string function), text1[], [text)

例子

SELECT array_to_string(ARRAY[11, 12, 13, NULL, 15], ',', '*');

输出。

output 11

12.Array_upper() 函数

这个数组函数用于返回一个数组的上限。下面是array_upper函数的例子和语法。

语法

Array_upper(Any_array (Any array element which was we have used with Array_upper function), integer_number)

例子

SELECT array_upper(ARRAY[11, 12, 13, 14, 15], 1);

输出。

output 12

13.String_to_array() 函数

这个数组函数用于将字符串分割成数组元素。下面是string_to_array函数的例子和语法。

语法

string_to_array(text(任何使用string_to_array函数的文本), text[], [text)

例子

SELECT string_to_array('AB~^~CD~^~EF', '~^~', 'XY');

输出。

output 13

14.Unset()函数

这个数组函数用于将数组扩展为一组行。下面是unset函数的例子和语法。

语法

Unset(Any_array (任何我们使用unset函数的数组元素)

例子

SELECT unnest(ARRAY[11, 12, 13, 14, 15]);

输出。

output 14