2011-09-23 8 views
14

私はvarcharカラムに文字列値を持っています。それは2つの部分を持つ文字列です。データベースにヒットする前に分割することは選択肢ではありません。SELECTで列の値を2つの列に分割しますか?

列の値は、次のようになります。

one_column: 
'part1 part2' 
'part1 part2' 

それでは、私がしたいことのように見える結果セットです:私は、SELECT文でこれを行うことができますどのように

col1,col2: 
part1,part2 
part1,part2 

?私は配列に文字列を分割するpgsql関数が見つかりましたが、私は2つの列にそれを取得する方法がわかりません。

答えて

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

関連する問題