2013-04-16 58 views
0

我有表:轉換一行到陣列中的PostgreSQL

Id Code Name 
1 001 Marry 

我想這樣的結果:

{1,001,Marry} 
+0

我建議你發佈一個*詳細*的問題,當你跟上這一點。這不是一個有用或詳細的問題。你甚至沒有解釋你在上一個問題中說的或與之相關的內容!儘管明確提醒你甚至沒有包含你的PostgreSQL版本。另外,請格式化您的問題;在撰寫問題時請參閱幫助鏈接。特寫投票。請閱讀有關如何提出良好問題的常見問題解答:http://stackoverflow.com/faq –

+1

提示:'SELECT x :: text FROM mytable x;'。請參閱http://sqlfiddle.com/#!10/9c2d0/2,http://sqlfiddle.com/#!10/9c2d0/1 –

+0

順便說一句,如果您使用的是現代PostgreSQL版本,則可以使用'json'支持9.2。 –

回答

12

使用array constructor

SELECT ARRAY[Id::text, Code::text, Name::text] AS my_arr FROM tbl; 

我們需要一個共同的類型,當然。數組元素必須是相同的類型。每種類型都可以投射到text,所以這裏是明顯的選擇。

+0

我不想編寫ID,代碼,名稱。我想它會得到一個行的所有列到數組。我有SQL獲得表的所有列:選擇列名 從\t \t INFORMATION_SCHEMA.COLUMNS 其中 \t TABLE_SCHEMA =「medibv_vn」 \t和TABLE_NAME =「ICD10」 。現在,我想要在數組中顯示所有列在一行。謝謝。 –

+2

@ user2281426:所有這些都應該在問題中。 –

+0

@ErwinBrandstetter一些上下文在這裏:http://stackoverflow.com/questions/16009061/automatically-concatenate-all-columns-with-delimiter –