云数据库 GAUSSDB-数组类型:数组类型的定义

时间:2024-11-13 14:45:52

数组类型的定义

一个数组数据类型一般通过在数组元素的数据类型名称后面加上方括号([])来命名。

示例一,创建一个名为sal_emp的表,它有一个表示雇员姓名类型为text的列(name),一个表示雇员季度工资的数组且元素类型为integer的列(pay_by_quarter),一个表示雇员手机号码的数组且元素类型为varchar(11)的列(phone_numbers):

gaussdb=# CREATE TABLE sal_emp (
name            text,
 pay_by_quarter  integer[],
phone_numbers   varchar(11)[]
gaussdb=# );
gaussdb=# DROP TABLE sal_emp;

示例二,其他方式定义一个数组类型,具体定义方法和定义行为参考示例中的注释:

gaussdb=# CREATE TABLE sal_emp (
name             text,
 pay_by_quarter1  integer[][],      -- int类型的二维数组
 pay_by_quarter2  integer[3],       -- int类型的一维数组,尺寸大小为3
 pay_by_quarter3  integer[3][3],    -- int类型的二维数组,每一维尺寸大小为3
 pay_by_quarter4  integer ARRAY,    -- int类型的一维数组
 pay_by_quarter5  integer ARRAY[3]  -- int类型的一维数组,尺寸大小为3
);
gaussdb=# DROP TABLE sal_emp;
  • 数组的维数定义功能并不生效(不影响运行时的行为),建议采用示例一的方式定义数组类型,并且不建议使用多维数组数据。
  • 数组的尺寸定义功能并不生效(不影响运行时的行为),建议采用示例一的方式定义数组类型。
  • 允许的数组数据维数最大为6。
  • 数组元素个数限制如下:
    1. 元素个数最大为134217727个。
    2. 所有元素加起来最大存储空间不超过1GB - 1字节即1073741823字节。
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-1665.html