ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

PostgreSQL-数据类型3

2022-09-07 13:30:16  阅读:285  来源: 互联网

标签:PostgreSQL sal 数据类型 emp 数组 array ARRAY SELECT


一、数组类型
PostgreSQL 允许将表的列定义为可变长度的多维数组。可以创建任何内置或用户定义的基本类型、枚举类型、复合类型、范围类型或域的数组。

为了说明数组类型的使用,我们创建了这个表:

CREATE TABLE sal_emp (
    name            text,
    pay_by_quarter  integer[],
    schedule        text[][]
);

如图所示,通过将方括号 ([]) 附加到数组元素的数据类型名称来命名数组数据类型。上面的命令将创建一个名为 sal_emp 的表,其中有一列 text 类型(name),一个整数类型的一维数组(pay_by_quarter),它表示员工按季度的工资,以及一个 text 二维数组(schedule),它代表员工的每周计划。

CREATE TABLE 的语法允许指定数组的确切大小,例如:

CREATE TABLE tictactoe (
    squares   integer[3][3]
);

但是,当前实现忽略了任何提供的数组大小限制,即行为与未指定长度的数组相同。

当前的实现也不强制声明的维数。无论大小或维数如何,特定元素类型的数组都被认为是同一类型。因此,在 CREATE TABLE 中声明数组大小或维数只是文档;它不会影响运行时行为。

通过使用关键字 ARRAY 符合 SQL 标准的替代语法可用于一维数组。pay_by_quarter 可以定义为:

pay_by_quarter  integer ARRAY[4],

或者,如果没有指定数组大小:

    pay_by_quarter  integer ARRAY,

然而,和以前一样,PostgreSQL 在任何情况下都不会强制执行大小限制。

要将数组值写为文字常量,请将元素值括在花括号内并用逗号分隔。您可以在任何元素值周围加上双引号,如果它包含逗号或花括号,则必须这样做。因此,数组常量的一般格式如下:

'{ val1 delim val2 delim ... }'

其中 delim 是类型的分隔符,记录在其 pg_type 条目中。在 PostgreSQL 发行版中提供的标准数据类型中,除了使用分号 (

标签:PostgreSQL,sal,数据类型,emp,数组,array,ARRAY,SELECT
来源: https://www.cnblogs.com/shigongp/p/16662325.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有