【MySQL】REGEXP - 正規表現のパターンマッチ
MySQLのREGEXPについて解説します。
検証環境
REGEXP
REGEXPは“正規表現のパターンマッチを行う句”です。
※ 正規表現については、次のドキュメントをご覧ください。
基本構文
カラム名 REGEXP パターン
サンプル
mysql> SELECT * FROM items;
+----+-----------+-------+-------+---------+
| id | name | price | stock | shop_id |
+----+-----------+-------+-------+---------+
| 1 | Apple | 200 | 10 | 1 |
| 2 | Orange | 150 | 3 | 1 |
| 3 | Pineapple | 1100 | 3 | 2 |
| 4 | Grapes | 3500 | 1 | 2 |
+----+-----------+-------+-------+---------+
4 rows in set (0.00 sec)
___ih_hl_start
mysql> SELECT * FROM items WHERE name REGEXP '.*pple$';
___ih_hl_end
+----+-----------+-------+-------+---------+
| id | name | price | stock | shop_id |
+----+-----------+-------+-------+---------+
| 1 | Apple | 200 | 10 | 1 |
| 3 | Pineapple | 1100 | 3 | 2 |
+----+-----------+-------+-------+---------+
2 rows in set (0.00 sec)
12行目のname REGEXP '.*pple$'
がREGEXP句です。
name
カラムの値のパターンが'.*pple$'
にマッチするかを判定し、WHERE
句によって条件でレコードを絞り込んでいます。