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 ) です。注意 : これらの演算子はマルチバイトでは安全ではありません。