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

REGEXP_COUNT 関数

文字列で正規表現パターンを検索し、このパターンが文字列内に出現する回数を示す整数を返します。一致がない場合、この関数は 0 を返します。正規表現に関する詳細については、「POSIX 演算子」を参照してください。

構文

Copy to clipboard
REGEXP_COUNT ( source_string, pattern [, position ] )

引数

source_string

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

pattern

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

position

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

戻り型

整数

次の例は、3 文字のシーケンスが出現する回数をカウントします。

Copy to clipboard
select regexp_count('abcdefghijklmnopqrstuvwxyz', '[a-z]{3}'); regexp_count -------------- 8 (1 row)

次の例は、最上位ドメイン名が org または edu である回数をカウントします。

Copy to clipboard
select email, regexp_count(email,'@[^.]*\\.(org|edu)') from users limit 5; email | regexp_count --------------------------------------------+-------------- elementum@semperpretiumneque.ca | 0 Integer.mollis.Integer@tristiquealiquet.org | 1 lorem.ipsum@Vestibulumante.com | 0 euismod@turpis.org | 1 non.justo.Proin@ametconsectetuer.edu | 1

このページの内容: