MySQLは正規表現マッチングをサポートしますMySQLはREGEXP演算子を使用して正規表現マッチングを実行します

MySQLは正規表現マッチングをサポートしますMySQLはREGEXP演算子を使用して正規表現マッチングを実行します

正規表現はREGEXPオペレーターに適用できます

モード 説明
^ 入力文字列の先頭に一致します。RegExpオブジェクトのMultilineプロパティが設定されている場合、^は「\ n」または「\ r」の後の位置にも一致します。
$ 入力文字列の終了位置と一致します。RegExpオブジェクトのMultilineプロパティが設定されている場合、$は「\ n」または「\ r」の前の位置とも一致します。
「\ n」以外の任意の1文字に一致します。'\ n'を含む任意の文字に一致させるには、 '[。\ n]'のようなパターンを使用します。
[...] キャラクターコレクション。含まれている任意の1文字に一致します。たとえば、「[abc]」は「plain」の「a」と一致します。
[^ ...] 負の文字セット。含まれていないすべての文字に一致します。たとえば、「[^ abc]」は「plain」の「p」と一致します。
p1 | p2 | p3 p1またはp2またはp3に一致します。たとえば、「z | food」は「z」または「food」と一致します。「(z | f)ood」は「zood」または「food」に一致します。
* 前の部分式に0回以上一致します。たとえば、zo *は「zoo」だけでなく「z」にも一致します。* {0、}と同等です。
+ 前の部分式に1回以上一致します。たとえば、「zo +」は「zo」と「zoo」に一致できますが、「z」には一致しません。+ {1、}と同等です。
{n} nは負でない整数です。特定のn回一致します。たとえば、「o {2}」は「Bob」の「o」と一致することはできませんが、「food」の2つのoと一致することはできます。
{n、m} mとnはどちらも非負の整数であり、n <= mです。少なくともn回一致し、最大m回一致します。

説明例

上記の正規要件を理解した後、必要に応じて正規表現を使用してSQLステートメントを記述できます。以下に、理解を深めるためのいくつかの小さな例(テーブル名:qipa350_user)を示します。

名前フィールドで「st」で始まるすべてのデータを検索します。

SELECT name FROM qipa350_user WHERE name REGEXP '^st';

名前フィールドで「ok」で終わるすべてのデータを検索します。

SELECT name FROM qipa350_user WHERE name REGEXP 'ok$';

名前フィールドに文字列「mar」を含むすべてのデータを検索します。

SELECT name FROM qipa350_user WHERE name REGEXP 'mar';

母音文字で始まる、または「ok」の文字列で終わる名前フィールドのすべてのデータを検索します。

SELECT name FROM qipa350_user WHERE name REGEXP '^[aeiou]|ok$';

0で始まるまたは5の文字列で終わるaccount_tokenフィールドのすべてのデータを検索します。

select * from pay_account where account_token REGEXP '^0|5$'

0で始まり5の文字列で終わるaccount_tokenフィールドのすべてのデータを検索します。

select account_token,account_balance from pay_account where account_token REGEXP '5$'  and account_token REGEXP '^0' 

おすすめ

転載: blog.csdn.net/guo_qiangqiang/article/details/113913853