PostgreSQL教程 -》数据类型 -》数组类型的定义
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询8.15.1. 数组类型的定义
为了展示数组类型的使用,我们创建这样一个表:
CREATE TABLE sal_emp (
name text,
pay_by_quarter integer[],
schedule text[][]
);
如上所示,一个数组数据类型可以通过在数组元素的数据类型名称后面加上方括号([])来命名。上述命令将创建一个名为sal_emp的表,它有一个类型为text的列(name),一个表示雇员的季度工资的一维integer类型数组(pay_by_quarter),以及一个表示雇员每周日程表的二维text类型数组(schedule)。
CREATE TABLE的语法允许指定数组的确切大小,例如:
CREATE TABLE tictactoe (
squares integer[3][3]
);
然而,当前的实现忽略任何提供的数组尺寸限制,即其行为与未指定长度的数组相同。
当前的实现也不会强制所声明的维度数。一个特定元素类型的数组全部被当作是相同的类型,而不论其尺寸或维度数。因此,在CREATE TABLE中声明数组的尺寸或维度数仅仅只是文档而已,它并不影响运行时的行为。
另一种符合SQL标准的语法是使用关键词ARRAY,可以用来定义一维数组。pay_by_quarter可以这样定义:
pay_by_quarter integer ARRAY[4],
或者,不指定数组尺寸:
pay_by_quarter integer ARRAY,
但是和前面一样,PostgreSQL在任何情况下都不会强制尺寸限制。