📜  PostgreSQL – 数组数据类型

📅  最后修改于: 2022-05-13 01:57:15.286000             🧑  作者: Mango

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);

输出: