[TD_SYSFNLIB.] REGEXP_SUBSTR ( source_string, regexp_string
[, position_arg, occurrence_arg, match_arg ] )
構文要素
- TD_SYSFNLIB.
- 関数が格納されているデータベースの名前。
- source_string
- 文字の引数。
- source_stringがNULLの場合はNULLが返されます。
- regexp_string
- 文字の引数。
- regexp_stringがNULLの場合はNULLが返されます。
- position_arg
- 数値引数。
- position_argはsource_string内の、検索が開始される位置を指定します(デフォルトは1)。
- position_argが入力文字列より長い場合はNULLが返されます。
- position_argがNULLの場合、値NULLが使用されます。position_argが指定されていない場合は、デフォルト(1)が使用されます。
- occurrence_arg
- 数値引数。
- 返される出現回数を指定します(デフォルトは1)。例えば、occurrence_argが2の場合、関数はsource_string内の最初の出現と一致し、次にsource_string内の最初の出現に続く文字から、source_string内の2番目の出現の検索を開始します。
- occurrence_argが見つかった一致数より大きい場合はNULLが返されます。
- occurrence_argがNULLの場合は、NULLの結果が返されます。occurrence_argを省略すると、デフォルト値(1)が使用されます。
- match_arg
文字の引数。
- 有効な値は、次のとおりです。
- 'i' =大文字と小文字を区別しない一致。
- 'c' =大文字と小文字を区別する一致。
- 'n' =ピリオド(任意の文字と一致)は改行文字と一致できます。
- 'm' = source_stringは単一行ではなく、複数行として扱われます。このオプションを指定すると、'^'および'$'文字がsource_string全体ではなく、source_string内の各行に適用されます。
- 'l' = source_stringがsource_stringの現在の最大許可サイズ(現在は16 MB)を超えた場合に、エラーではなくNULLを返します。これは長時間実行する問合わせで、問合わせが失敗することになる長い文字列を使用したくない場合に役立ちます。
- 'x' = 空白を無視します。
- 引数は複数の文字を含みます。引数の文字が有効でない場合、文字は無視されます。
- match_argが未指定、またはNULL、空の場合:
- 一致は大文字と小文字を区別します。
- ピリオドは改行文字と一致しません。
- source_stringは単一行として扱われます。