如何从数组中获取记录的值?

时间:2015-01-23 06:34:00

标签: arrays postgresql

我需要获取数组记录的第一个元素的值。

SELECT ARRAY(
    SELECT ROW(id, id_currency, id_user)
      FROM posts
     WHERE id IN (111, 104, 102) FOR UPDATE
) ; 

结果:

{"(104,643,)","(111,643,)", ,"(112,643,)"}

如何获取数组第二个元素的条目值?

1 个答案:

答案 0 :(得分:0)

试试这个:

SELECT (ARRAY(
    SELECT ROW(id, id_currency, id_user)
      FROM posts
     WHERE id IN (111, 104, 102) FOR UPDATE
))[2] ; 

您可以使用arr[n]获取数组n的{​​{1}}元素。默认情况下,PostgreSQL对数组使用基于一的编号约定,即n个元素的数组以arr开头,以array[1]结尾。

以下网址可以为您提供帮助。 http://www.postgresql.org/docs/9.1/static/arrays.html