カンマ区切りの列データを複数の列に分割します
多くのデータ シナリオでは、データは連結形式で保存され、カンマなどの区切り文字で区切られます。これらの列から単一の値を抽出するには、PostgreSQL の split_part()
関数を使用できます。
次のデータについて考えてみましょう:
<code>Column ------- a,b,c,d</code>
このカンマ区切りのデータを個別の列に分割するには、split_part()
関数を使用できます。その方法は次のとおりです:
<code class="language-sql">SELECT split_part(col, ',', 1) AS col1, split_part(col, ',', 2) AS col2, split_part(col, ',', 3) AS col3, split_part(col, ',', 4) AS col4 FROM tbl;</code>
このクエリは、カンマ区切り文字に基づいて col
列のデータを分割することにより、4 つの新しい列 (col1
、col2
、col3
、および col4
) を作成します。出力は次のようになります:
<code>Column1 Column2 Column3 Column4 ------- ------- ------- ------- a b c d</code>
split_part()
関数は、分割する列 (col
)、使用する区切り記号 (,
)、抽出する値の位置の 3 つのパラメーターを受け入れます。この例では、col
列から最初の 4 つの値 (最大 4 つ) を抽出します。
元の列のデータ項目数を超える列は空の文字列 ('') で埋められます。この手法を使用すると、カンマ区切りのデータを複数の列に簡単に分割して、さらなる分析や操作を行うことができます。
以上がPostgres 列内のカンマ区切りデータを複数の列に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。