- テストユーザ <- スペースなし
- テスト ユーザ <- 全角スペース
- テスト ユーザ <- 全角スペース2個
- テスト ユーザ <- 半角スペース
これをまとめて検索したい。
解決方法
正規表現を使う。
MySQL 5.6 リファレンスマニュアル 12.5.2 正規表現
https://dev.mysql.com/doc/refman/5.6/ja/regexp.html
mysql> select * from user where name regexp 'テスト( | )*ユーザ';
+----+------------------+
| id | name |
+----+------------------+
| 1 | テストユーザ |
| 2 | テスト ユーザ |
| 3 | テスト ユーザ |
| 4 | テスト ユーザ |
+----+------------------+
スペースが入っているものに限定するならこう。
mysql> select * from user where name regexp 'テスト( | )+ユーザ';
+----+------------------+
| id | name |
+----+------------------+
| 2 | テスト ユーザ |
| 3 | テスト ユーザ |
| 4 | テスト ユーザ |
+----+------------------+