MySQL Regex to match a pattern for ignoring a character in search like Chris.Brown?


Let us first create a table −

mysql> create table DemoTable
(
   Name varchar(40)
)
;
Query OK, 0 rows affected (0.63 sec)

Insert some records in the table using insert command −

mysql> insert into DemoTable values('John.Smith');
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable values('Chris Brown');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Chris.Brown');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('David Miller');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values('Chris.Taylor');
Query OK, 1 row affected (0.18 sec)

Display all records from the table using select statement −

mysql> select *from DemoTable;

This will produce the following output −

+--------------+
| Name         |
+--------------+
| John.Smith   |
| Chris Brown  |
| Chris.Brown  |
| David Miller |
| Chris.Taylor |
+--------------+
5 rows in set (0.00 sec)

Following is the query to ignore a character in search −

mysql> select *from DemoTable where replace(Name,'.','')='Chris Brown';

This will produce the following output −

+-------------+
| Name        |
+-------------+
| Chris Brown |
+-------------+
1 row in set (0.00 sec)
raja
Published on 09-Oct-2019 16:11:34
Advertisements