如何在 MySQL 中按特定模式搜索?

mysqlmysqli database

您可以使用正则表达式来实现这一点。让我们首先创建一个表 −

mysql> create table DemoTable
   (
   UserId varchar(100)
   );
Query OK, 0 rows affected (1.28 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable values('User-123-G');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable values('Us-453-GO');
Query OK, 1 row affected (0.08 sec)

mysql> insert into DemoTable values('TRUE-908-K');
Query OK, 1 row affected (0.20 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable;

这将产生以下输出 −

+------------+
| UserId     |
+------------+
| User-123-G |
| Us-453-GO  |
| TRUE-908-K |
+------------+
3 rows in set (0.00 sec)

以下是在 MySQL 中按特定模式搜索的查询。这里我们将模式设置为 4 alnum – 3 alnum – 1alnum。

注意 − 这里的 – 是连字符 −

mysql> select *from DemoTable where UserId regexp '^[[:alnum:]]{4}-[[:alnum:]]{3}-[[:alnum:]]{1}$';

这将产生以下输出 −

+------------+
| UserId     |
+------------+
| User-123-G |
| TRUE-908-K |
+------------+
2 rows in set (0.12 sec)

相关文章