PostgreSQL – 数组数据类型
PostgreSQL 支持数组的概念。无论数据类型的属性如何,所有数据类型都有与之关联的伴随数组。它甚至可用于用户定义的数据类型。
Syntax: variable_name DATA TYPE [];
现在我们知道了 PostgreSQL 中数组的使用和需要,让我们看一些例子。
示例 1:
首先我们创建一个表(比如,联系人),其中phones
列被定义为一个text
数组,如下所示:
CREATE TABLE contacts (
id serial PRIMARY KEY,
name VARCHAR (100),
phones TEXT []
);
现在我们将一些联系人插入到我们的表中,如下所示:
INSERT INTO contacts (name, phones)
VALUES
(
'Raju Kumar',
'{"(408)-589-5841"}'
),
(
'Nikhil Aggarwal',
'{"(408)-589-5841"}'
),
(
'Anshul Aggarwal',
'{"(408)-589-5841"}'
),
(
'Puja Singh',
'{"(408)-589-5842", "(408)-589-58423"}'
);
现在我们查询联系人数据如下:
SELECT
name,
phones
FROM
contacts;
输出:
示例 2:
在我们在上面的例子中创建的同一个表中,我们将使用ANY()
函数查询知道谁拥有电话号码 (408)-589-5842,而不管电话号码在电话数组中的位置,如下所示:
SELECT
name,
phones
FROM
contacts
WHERE
'(408)-589-5842' = ANY (phones);
输出: