REGEXP_LIKE
REGEXP_LIKE 関数は、文字列が正規表現に一致するかどうかを確認するために使用されます。
構文
REGEXP_LIKE(<expr>, <pat[, match_type]>)
引数
match_type には、以下の文字を任意の組み合わせで含めることができます。
c: 大文字と小文字を区別するマッチング。i: 大文字と小文字を区別しないマッチング。m: 複数行モード。文字列内の行終端を認識します。デフォルトの動作では、行終端は文字列表現の先頭と末尾でのみマッチします。n:.文字が行終端にマッチします。デフォルトでは、.のマッチングは行末で停止します。u: Unix のみの行末。現在はサポートされていません。
戻り値の型
BIGINT: 文字列 expr がパターン pat で指定された正規表現に一致する場合は 1 を返し、それ以外の場合は 0 を返します。expr または pat が NULL の場合、戻り値は NULL です。
例
SELECT REGEXP_LIKE('a', '^[a-d]');
+----------------------------+
| REGEXP_LIKE('a', '^[a-d]') |
+----------------------------+
| 1 |
+----------------------------+
SELECT REGEXP_LIKE('abc', 'ABC');
+---------------------------+
| REGEXP_LIKE('abc', 'ABC') |
+---------------------------+
| 1 |
+---------------------------+
SELECT REGEXP_LIKE('abc', 'ABC', 'c');
+--------------------------------+
| REGEXP_LIKE('abc', 'ABC', 'c') |
+--------------------------------+
| 0 |
+--------------------------------+
SELECT REGEXP_LIKE('new*\n*line', 'new\\*.\\*line');
+-------------------------------------------+
| REGEXP_LIKE('new*
*line', 'new\*.\*line') |
+-------------------------------------------+
| 0 |
+-------------------------------------------+
SELECT REGEXP_LIKE('new*\n*line', 'new\\*.\\*line', 'n');
+------------------------------------------------+
| REGEXP_LIKE('new*
*line', 'new\*.\*line', 'n') |
+------------------------------------------------+
| 1 |
+------------------------------------------------+