此查询失败:
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有效,但它非常难看。
为什么第一个查询不起作用,并且有比第二个查询更简洁的方法吗?
答案 0 :(得分:7)
这个怎么样:
SELECT (xpath('/my/xpath/expr', my_xml))[1] FROM my_table;