expr REGEXP pat
, expr RLIKE pat
パターン pat
に対して、ストリングの式 expr
のパターン照合を行います。このパターンは拡張正規表現にもなりえます。正規表現の構文については、項11.3.2. 「正規表現」 で説明されています。expr
が pat
と一致する場合は 1
を戻し、それ以外では 0
を戻します。expr
もしくは pat
のどちらかが NULL
である場合、結果は NULL
になります。RLIKE
は、mSQL
との互換性のために用意された、REGEXP
のシノニムです。
パターンはリテラル ストリングである必要があります。例えば、文字列式、またはテーブル カラムとして指定するのでもかまいません。
注記 :MySQL は C エスケープ構文をストリングで使用するため ( 例えば、‘\n
’ で改行文字を表現 ) 、REGEXP
ストリングで使用する ‘\
’ はすべて二重にする必要があります。
REGEXP
は、バイナリ ストリングと使用する場合以外では、大文字小文字の区別をしません。
mysql>SELECT 'Monty!' REGEXP 'm%y%%';
-> 0 mysql>SELECT 'Monty!' REGEXP '.*';
-> 1 mysql>SELECT 'new*\n*line' REGEXP 'new\\*.\\*line';
-> 1 mysql>SELECT 'a' REGEXP 'A', 'a' REGEXP BINARY 'A';
-> 1 0 mysql>SELECT 'a' REGEXP '^[a-d]';
-> 1
REGEXP
および RLIKE
は、文字のタイプを決定する際に、現行の文字セットを使用します。デフォルトは latin1
( cp1252 West European ) です。注意 : これらの演算子はマルチバイトでは安全ではありません。