2016-11-18 31 views
1

我的記錄如下:Postgres的:修剪從陣列空白值在表

id column1 
1 'Record1' 
2 ' Record2' 
3 ' Record3a, Record3b' 
4 'Record4a , Record4b, Record4c ' 

column1 type: text 

pre-defined array= {record1,record2,record3a}

雖然我在檢查用&預先定義的數組中的值&運算符,大多數值由於不必要的分隔符空間而被忽略。

因此,我需要先刪除string_to_array()這些空間是存在的開頭或結尾(只),然後做,這樣的結果可能是比我預先定義的數組

+0

您是否可以包含實際的查詢和表定義? –

+0

@TimBiegelesien我已經更新了我的問題 –

回答

1

使用trim()刪除前導空白:

SELECT string_to_array(trim(both ' ' from regexp_replace(column1, '\s*,\s*', ',')), ',') 
FROM yourTable 
+0

Nah @Tim Biegeleisen ...我剛剛爲'Record3a,Record3b'運行它,它給出了:{Record3a,「Record3b」} ...這是不正確的,因爲第二個元素仍然包含尾隨空間 –

+0

等等......這些引用實際上是數據的一部分嗎? –

+0

不......這不是數據的一部分......那是以輸出形式出現的......它只是:{Record3a,Record3b} –