トークンの切り出しには 部分文字列の区切り位置を求めるための INSTR 関数 と 部分文字列を切り出すための SUBSTR 関数 を使用することで行なう。 注意点 このストアドファンクションは主に SQL から文字列切り出しを行なうためのもの。1つのトークンを切り出す毎に切り出す先頭位置と長さを求めている。応答時間を気にする PL/SQL バッチ処理のような繰り返し呼び出す用途には向いていないだろう。パフォーマンスが要求される場合には一度にすべてのトークンを配列形式で戻すようなストアドファンクションを作成した方が変換効率がよい。 また、文字列のデータの内部に区切り文字が存在する場合には項目の途中で切り出される。 カンマ区切りの文字列の分割例 SQL> set null '<NULL>' SQL> select str, 2 strtoken(str, ',', 1) to