REG_MATCH
値が正規表現のパターンに一致するかどうかを返します。そのため、ID、電話番号、郵便番号、州の名前などのデータパターンを検査できます。
注: 文字列内の文字を新しい文字パターンに置換します。
構文
REG_MATCH( subject,pattern )
引数 | 必須/ オプション | 説明 |
---|
subject | 必須 | 文字列データ型。正規表現のパターンに一致させる値を渡します。 |
pattern | 必須 | 文字列データ型。一致させる正規表現パターン。Perl互換の正規表現構文を使用する必要があります。パターンは、一重引用符で囲みます。詳細については、 REG_EXTRACTを参照してください。 |
戻り値
データがパターンに一致する場合は1。
データがパターンに一致しない場合は0。
入力値またはパターンがNULLの場合はNULLです。
例
式でREG_MATCHを使用して、電話番号を検査する場合もあります。たとえば、次の式は10桁の電話番号をパターンと照合し、その結果に基づいて数値を返します。
REG_MATCH (Phone_Number, '(\d\d\d-\d\d\d-\d\d\d\d)' )
Phone_Number | Return Value |
---|
408-555-1212 | 1 |
| NULL |
510-555-1212 | 1 |
92 555 51212 | 0 |
650-555-1212 | 1 |
415-555-1212 | 1 |
831 555 12123 | 0 |
ヒント
以下のタスクでもREG_MATCHを使用できます。
- •値とパターンが一致するかを確認する場合。これは、SQL LIKE関数の使用方法に似ています。
- •値が文字かどうかを確認する場合。これは、SQL IS_CHAR関数の使用方法に似ています。
式のREG_MATCH関数でピリオド(.)およびアスタリスク(*)を使用して、値がパターンと一致するかを確認する場合。ピリオドは1文字に一致します。アスタリスク(*)は、後続の値の0個以上のインスタンスに一致します。
たとえば、以下の式を使用して1835で始まる口座番号を検索します。
REG_MATCH(ACCOUNT_NUMBER, ‘1835.*’)
値が文字であるかを確認するには、[a-zA-Z]+を正規表現とするREG_MATCH関数を使用します。a-zは、すべての小文字に一致します。A-Zは、すべての大文字に一致します。プラス記号(+)は、少なくとも1文字が存在しなければならないことを表しています。
たとえば、以下の式を使用して、姓のリストに文字しか含まれていないことを確認します。
REG_MATCH(LAST_NAME, ‘[a-zA-Z]+’)