2015-09-16 45 views
0

我想創建一個字符串,我可以在查詢中使用IN語句。我目前的查詢設置爲使用string_agg語句輸出一個字符串。輸出看起來像XX」, 'XY', 'XZ',XBPostgreSQL添加一個字符串輸出的前端和結尾

查詢看起來像

select string_agg(distinct column_row, ''',''') from new_table; 

此輸出像上面....... xx', 'xy', 'xz', 'xb的字符串。我想找到一種方法來添加一個額外的撇號到字符串的開頭和字符串的末尾,所以它看起來像'xx', 'xy', 'xz', 'xb'

有沒有一種方法,我可以使用concat添加'到整個字符串的開始和結尾,以便字符串最終看起來像'xx','xy','xz',xb'?因爲我不認爲我可以在IN語句中使用一個字符串,所有字符都沒有撇號。

+1

爲什麼不離開聚集了並在'IN'條件下直接使用該語句? '在哪裏(選擇...)' –

回答

0

嘗試:

select '''' || col || '''' 
    from (select string_agg(distinct column_row, ''',''') col 
      from new_table) newt; 

見這裏的SQLFiddle

沒有子查詢也將工作:

select '''' || string_agg(distinct col, ''',''') || '''' col 
    from test 

看到它在這裏SQLFiddle 2

相關問題