以数字和字母形式(例如 99S、50K 等)获取记录的 MySQL 查询?
最简单的方法是使用 REGEXP。我们首先创建一个表 -
mysql> create table DemoTable ( Id varchar(50) ); Query OK, 0 rows affected (0.77 sec)
使用 insert 命令向表中插入一些记录 -
mysql> insert into DemoTable values('John123'); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable values('123Chris'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('99Bob'); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values('19David'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('99S'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable values('10M'); Query OK, 1 row affected (0.14 sec)
使用 select 语句显示表中的所有记录 -
mysql> select *from DemoTable;
这将产生以下输出 -
+----------+ | Id | +----------+ | John123 | | 123Chris | | 99Bob | | 19David | | 99S | | 10M | +----------+ 6 rows in set (0.00 sec)
以下是显示以数字和字母形式排列的记录的查询 -
mysql> select *from DemoTable where Id regexp '^[0-9][0-9][A-Z]$';
这将产生以下输出 -
+------+ | Id | +------+ | 99S | | 10M | +------+ 2 rows in set (0.00 sec)
广告