PostgreSQL可以从函数返回的数组中选择吗?

时间:2009-04-17 18:28:28

标签: sql xml postgresql

此查询失败:

SELECT xpath('/my/xpath/expr', my_xml)[1] FROM my_table

ERROR:  syntax error at or near "["

但是这个有效:

SELECT x[1] FROM
    (SELECT xpath('/my/xpath/expr', my_xml) as x FROM my_table) as ss

我的xpath表达式总是只返回一个值,但Postgres xpath函数返回一个数组。我想选择数组中的第一个值。虽然subselect有效,但它非常难看。

为什么第一个查询不起作用,并且有比第二个查询更简洁的方法吗?

1 个答案:

答案 0 :(得分:7)

这个怎么样:

SELECT (xpath('/my/xpath/expr', my_xml))[1] FROM my_table;