- カテゴリ:
文字列とバイナリ関数 (一般)、 テーブル関数
STRTOK_SPLIT_TO_TABLE¶
指定された区切り文字のセットで文字列をトークン化し、結果を行にフラット化します。
- こちらもご参照ください。
構文¶
引数¶
必須:
stringトークン化されるテキストです。
オプション:
delimiter_listオプションの区切り文字のセット。デフォルト値は単一のスペース文字です。
出力¶
この関数は、次の列を返します。
列名 |
データ型 |
説明 |
|---|---|---|
SEQ |
NUMBER |
入力記録に関連する一意のシーケンス番号。シーケンスにギャップがないことや、特定の方法で順序付けられていることは保証されません。 |
INDEX |
NUMBER |
要素の1ベースのインデックス。 |
VALUE |
VARCHAR |
フラット化された配列の要素の値です。 |
注釈
クエリは、この関数のデータのソースとして機能した元の(相関した)テーブルの列にもアクセスできます。元のテーブルの単一の行がフラット化されたビューの複数の行になった場合、この入力行の値は、この関数によって生成された行の数と一致するように複製されます。
例¶
定数入力の簡単な例を次に示します。
テーブルを作成してデータを挿入します。
STRTOK_SPLIT_TO_TABLE 関数で LATERAL キーワードを使用すると、関数は splittable_strtok テーブルの各行で相関テーブルとして実行されます。
この例は、複数の区切り文字を指定することを除いて、前述と同じです。
1つの列に著者、もう1つの列に書籍のタイトルを含む別のテーブルを作成します。テーブルデータでは、本のタイトルはコンマやセミコロンで区切られることがあります。
LATERAL キーワードと SPLIT_TO_TABLE 関数を使用して、各タイトルごとに個別の行を返すクエリを実行します。さらに、 TRIM 関数を使用して、タイトルの先頭と後続のスペースを削除します。なお、 SELECT のリストには、関数が返す固定 value 列が含まれています。