小编给大家分享一下定义PostgreSQL数组类型的方法,相信大部分人都还不怎么了解,因此分享这边文章给大家学习,希望大家阅读完这篇文章后大所收获,下面让我们一起去学习方法吧!

PostgreSQL数组类型怎么定义

PostgreSQL支持表的字段使用定长或可变长度的一维或多维数组,数组的类型可以是任何数据库内建的类型、用户自定义的类型、枚举类型,以及组合类型。但目前还不支持 domain 类型。

推荐:postgresql教程

数组类型的定义就是通过在数组元素类型名后面附加中括号 [] 来实现的,中括号中可以给一个长度数字,也可以不给。

定义指定多维数组的维度也是没有意义的,数组的维度是根据实际插入的数据来确定的,如下两个语句意义是一样的:

CREATETABLEtest1(idint,col1int[],col2int[10],col3text[][]);CREATETABLEtest2(idint,col1int[10],col2int[],col3text[]);

1、输入数组值

可以使用 ARRAY 构造器语法输入数据,一个数组构造器是一个表达式,它从自身的成员上构造一个数组值。

一个简单的数组构造器由关键字 ARRAY、[、一个或多个表示数组元素值的表达式(用逗号分隔)、] 组成

INSERTINTOtestvalues(1,ARRAY['os','dba']);INSERTINTOtestvalues(1,ARRAY['os"dba','123"456']);INSERTINTOtestvalues(1,ARRAY['os''dba','123''456']);//多维数组,在向多维数组插入值时,各个维度的元素个数必须相同,否则会报错INSERTINTOtestvalues(1,ARRAY[['os','dba'],['dba','os']]);

2、访问数组

默认情况下,数组的下标是从 1 开始的,但也可以指定下标的开始值,如下:

CREATETABLEtest02(idint[]);INSERTINTOtest02values('[2:4]={1,2,3}');SELECTid[2],id[3],id[4]FROMtest02;

指定上下标的格式为:

'[下标:上标]=[元素值1,元素值2,元素值3,...]'

可以使用数组的切片,如下所示:

SELECTid,col[1:2]FROMtest02;

以上是定义PostgreSQL数组类型的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!