2016-07-22 25 views
0

我試圖選擇在一個Postgres的表列解析JavaScript的列表返回第n個值,它沒有按鍵:SQL:如何從JSON PostgreSQL中

{coastal,transitional,contemporary,romantic,traditional, 
industrial,modern,contemporary_eclectic,regency,mediterranean} 

得到什麼SQL命令的第n個值?

我知道你可以通過按鍵像這樣得到的值:

SELECT {column_name}->>{key value} 
FROM {table_name} 

但我真的想通過列表值爲了只是拉值。有沒有我找不到的語法?或者我是否需要將此數組轉換爲不同的數據類型?

回答

2

相同實際工作數組:

{column_name}->>N 

其中N是元素的整數位置。

參考文獻:

+0

我不知道,我無法得到它的工作。我想通了「雜交」雖然:它是JS典型語法,只是不從0開始計數: 如:{} COLUMN_NAME [1]是列表 –

+0

的第一個值@TaylorNelson它肯定是0-基地索引。 – zerkms

+0

啊,我認爲你的方法也可行 –

0

原來我問錯了問題 - 我有一個Postgres的陣列,而不是一個JSON:

我掙扎,因爲posgres開始計數陣列在位置1,不是0 - doh!

{column_name}[1] //this is the first value in the array 
+1

因此,您沒有JSON,但是有一個porstgresql數組? – zerkms

+0

正確,您的解決方案對我的問題非常有用,我問了一個錯誤的問題,因爲我認爲這是一個JSON數組,我們在模式中大量使用了這個數組。謝謝! –