无法从第二列PostgreSQL中的数组中获取元素

时间:2017-03-22 20:13:40

标签: sql arrays postgresql select

我将二维数组作为时间戳类型。然后我添加了一个这样的插入

'{{2017-03-01 14:00:00},{2017-06-01 21:00:00}}'

我怎样才能获得第二个元素?

创建表格:

create table client(id SERIAL PRIMARY KEY, full_name VARCHAR(40) NOT NULL, gender VARCHAR(15) NOT NULL, phone_number VARCHAR(20) NOT NULL, card_type VARCHAR(30) NOT NULL, card_period Timestamp[][] NOT NULL );

然后我做了一些插入作为下一个:

insert into client (full_name, phone_number, card_type, card_period, gender) values('Mr James Abrams','3805832940003073','Bronze','{{2017-03-01 14:00:00},{2017-06-01 21:00:00}}','man');

例如我选择了什么

select card_period from client where id = 1;

其显示如下:2017-03-01T14:00:00,2017-06-01T21:00:00 我试图选择card_period [0:1] - 仅显示第一个,如果[0:2]则显示它们两个

2 个答案:

答案 0 :(得分:1)

我之前已经给出的答案格式正确,只是数组顺序错误:)

这是获得第二元素值的方式:

SELECT card_period[2][1] FROM client WHERE id = 1;
     card_period
---------------------
 2017-06-01 21:00:00
(1 row)

答案 1 :(得分:0)

SELECT column_name[1][2] FROM the_table