REGEX 在 MySQL 中匹配整数 6 到 10?

mysqlmysqli database

在这里您可以使用 BETWEEN 运算符。语法如下 −

SELECT *FROM yourTableName WHERE yourColumnName BETWEEN 6 AND 10;

您可以像这样使用正则表达式。语法如下 −

SELECT *FROM yourTableName WHERE yourColumnName REGEXP '10|[6-9]';

为了理解这两种语法,让我们创建一个表。创建表的查询如下 −

mysql> create table RegularExpressionDemo
   -> (
   -> Id int
   -> );
Query OK, 0 rows affected (1.11 sec)

现在,您可以使用 insert 命令在表中插入一些记录。查询如下 −

mysql> insert into RegularExpressionDemo values(1);
Query OK, 1 row affected (0.16 sec)
mysql> insert into RegularExpressionDemo values(2);
Query OK, 1 row affected (0.13 sec)
mysql> insert into RegularExpressionDemo values(3);
Query OK, 1 row affected (0.17 sec)
mysql> insert into RegularExpressionDemo values(4);
Query OK, 1 row affected (0.14 sec)
mysql> insert into RegularExpressionDemo values(5);
Query OK, 1 row affected (0.10 sec)
mysql> insert into RegularExpressionDemo values(6);
Query OK, 1 row affected (0.24 sec)
mysql> insert into RegularExpressionDemo values(7);
Query OK, 1 row affected (0.10 sec)
mysql> insert into RegularExpressionDemo values(8);
Query OK, 1 row affected (0.08 sec)
mysql> insert into RegularExpressionDemo values(9);
Query OK, 1 row affected (0.22 sec)
mysql> insert into RegularExpressionDemo values(10);
Query OK, 1 row affected (0.23 sec)

使用 select 语句显示表中的所有记录。查询如下 −

mysql> select *from RegularExpressionDemo;

以下是输出 −

+------+
| Id   |
+------+
|    1 |
|    2 |
|    3 |
|    4 |
|    5 |
|    6 |
|    7 |
|    8 |
|    9 |
|   10 |
+------+
10 rows in set (0.00 sec)

以下是匹配整数 6 到 10 的查询。

案例 1 − 使用 BETWEEN 运算符。查询如下 −

mysql> select *from RegularExpressionDemo where Id between 6 and 10;

以下是输出 −

+------+
| Id   |
+------+
|    6 |
|    7 |
|    8 |
|    9 |
|   10 |
+------+
5 rows in set (0.00 sec)

这是使用 REGEXP 匹配整数 6 到 10 的查询 −

mysql> select *from RegularExpressionDemo where Id REGEXP '10|[6-9]';

以下是输出 −

+------+
| Id   |
+------+
|    6 |
|    7 |
|    8 |
|    9 |
|   10 |
+------+
5 rows in set (0.01 sec)

相关文章