0
一般來說:如果PostgreSQL函數返回一個數組,我可以訪問其枚舉值之一而不必創建子查詢嗎?使用PostgreSQL xpath函數並從數組中獲得第一個返回值
具體而言,這裏是什麼,我試圖做一個抽象的例子:
SELECT
xpath('/a/text()', subquery.xmlvalue)
FROM (
SELECT '<a>theValue</a>'::xml xmlvalue
) subquery ;
...返回數組:
xpath
------------
{theValue}
(1 row)
...但我想要的是第一個(從這個數組只,在這種情況下)值:
xpath
------------
theValue
(1 row)
...因此,我的問題是,這是(低於一個子查詢)噸他只有這樣做的方法,還是有沒有辦法做到這一點subquery2
?
SELECT subquery2.xpatharray[1] FROM (
SELECT
xpath('/a/text()', subquery.xmlvalue) xpatharray
FROM (
SELECT '<a>theValue</a>'::xml xmlvalue
) subquery
) subquery2 ;
...因爲這樣做不工作:
SELECT
xpath('/a/text()', subquery.xmlvalue)[1]
FROM (
SELECT '<a>theValue</a>'::xml xmlvalue
) subquery ;
...和錯誤消息是:
ERROR: syntax error at or near "["
LINE 2: xpath('/a/text()', subquery.xmlvalue)[1]
^
它說我可以在兩天內接受我自己的答案;它可能會比這更長,直到我可以回到這個位置,但我會稍後回來選擇一個答案(我的或其他人的)。 – rvrabbit