ホームページ >データベース >mysql チュートリアル >PostgreSQL でテキスト列を複数の行に分割するにはどうすればよいですか?
Postgres では、テキスト型の 1 つの列を含むテーブルを複数の行を含むテーブルに変換する必要が生じる場合があります。各行はテキスト列のトークンを表します。
次のソース テーブルを考えます:
</p> <table> <thead><tr> <th>subject</th> <th>flag</th> </tr></thead> <tbody><tr> <td>this is a test</td> <td>2</td> </tr></tbody> </table> <p>
目的の出力は、次のテーブルです。二columns:
token | flag |
---|---|
this | 2 |
is | 2 |
a | 2 |
test | 2 |
SELECT token, flag FROM tbl, string_to_table(subject, ' ') token WHERE flag = 2;Postgres 13 以前の場合、string_to_table(subject, ' ') の代わりに unnest(string_to_array(subject, ' ')) を使用する必要があります。string_to_table() 関数は、対象の列を同じ値を持つ個別のトークン (行ごとに 1 つずつ) に分割します。フラグ列の場合。 WHERE 句は結果をフィルタリングして、値 2 のフラグが設定されたトークンのみを表示します。このソリューションは、Postgres でテキスト列を個々の行に分割する簡潔かつ効率的な方法を提供します。
以上がPostgreSQL でテキスト列を複数の行に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。