2016-11-02 10 views

答えて

1

最初に、カンマ区切りの値を文字列フィールドに格納しないでください。

select split_part(field, ',', 1) || ',' || split_part(field, ',', 2) || ',' || split_part(field, ',', 3) 
1

私はここに正規表現を使用することを好むだろう。しかし、それは、一つの方法はsplit_part()を使用していますと述べました。あなたの固定パターンにマッチする正規表現は次のとおりです。

regexp_matchesを使用して
^(\w+,\w+,\w+).*$ 

、これは次のようになります。

select regexp_matches(field, E'^(\\w+,\\w+,\\w+).*$') 
from yourTable 

注:私は私の地元のPostgresにこのクエリをテストし、それが正常に動作、q.v.この画面キャプチャ

enter image description here

+0

はご回答ありがとうございました、そしてデータは、私はこれをunacceptする必要がsorry-- – eljusticiero67

+0

;-)私に送られますどのようにコメントしていません。働いていないようです。 「機能が存在しないように見える」というエラーが表示されます。正規表現をチェックして何が問題か分かります。 – eljusticiero67

+0

クエリは私にとってはローカルでうまく動作します。正しくコピーしてもよろしいですか? –

関連する問題