2011-09-23 47 views
14

我在varchar列中有一個字符串值。它是一個由兩部分組成的字符串。在撞擊數據庫之前將其拆分不是一種選擇。在SELECT中將列值拆分爲兩列?

列的值是這樣的:

one_column: 
'part1 part2' 
'part1 part2' 

所以,我要的是一個結果集,看起來像:

col1,col2: 
part1,part2 
part1,part2 

我怎樣才能做到這一點在SELECT語句?我找到了一個pgsql函數來將字符串拆分成一個數組,但我不知道如何將它分成兩列。

回答

32
select split_part(one_column, ' ', 1) AS part1, 
     split_part(one_column, ' ', 2) AS part2 ... 
+0

太棒了。謝謝。 –

+0

已解決,但我需要給列名稱以避免錯誤:'SELECT split_part(one_column,'',1)AS part1,split_part(one_column,'',2)AS part2 ...' – avivr