メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

REGEXP_INSTR 関数

文字列で正規表現パターンを検索し、一致するサブ文字列の開始位置を示す整数を返します。一致がない場合、この関数は 0 を返します。REGEXP_INSTR は POSITION 関数 関数に似ていますが、文字列で正規表現パターンを検索することができます。正規表現に関する詳細については、「POSIX 演算子」を参照してください。

構文

Copy
REGEXP_INSTR ( source_string, pattern [, position ] )

引数

source_string

検索する文字列式 (列名など)。

pattern

SQL の標準の正規表現パターンを表す文字列リテラル。

position

検索を開始する source_string 内の位置を示す正の整数。position はバイト数ではなく文字数に基づくため、マルチバイト文字は 1 文字としてカウントされます。デフォルトは1です。position が 1 より小さい場合、source_string の最初の文字から検索が開始されます。positionsource_string の文字数より大きい場合、結果は 0 になります。

戻り型

整数

次の例は、ドメイン名を開始する @ 文字を検索し、最初の一致の開始位置を返します。

Copy
select email, regexp_instr(email,'@[^.]*') from users limit 5; email | regexp_instr --------------------------------------+------------- Cum@accumsan.com | 4 lorem.ipsum@Vestibulumante.com | 12 non.justo.Proin@ametconsectetuer.edu | 16 non.ante.bibendum@porttitortellus.org | 18 eros@blanditatnisi.org | 5 (5 rows)

次の例は、Center という単語のバリエーションを検索し、最初の一致の開始位置を返します。

Copy
select venuename, regexp_instr(venuename,'[cC]ent(er|re)$') from venue where regexp_instr(venuename,'[cC]ent(er|re)$') > 0 limit 5; venuename | regexp_instr ----------------------+------------- The Home Depot Center | 16 Izod Center | 6 Wachovia Center | 10 Air Canada Centre | 12 United Center | 8

このページの内容: