在 MySQL 中检查字符串是否包含数字?

mysqlmysqli database

要检查字符串是否包含数字,可以使用 regexp,即正则表达式。语法如下 −

SELECT *FROM yourTableName where yourColumnName REGEXP ‘[0-9]’;

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

mysql> create table StringContainsNumber
   -> (
   -> Id int not null auto_increment,
   -> Words text,
   -> primary key(Id)
   -> );
Query OK, 0 rows affected (0.53 sec)

使用 insert 命令在表中插入一些记录。 查询语句如下 −

mysql> insert into StringContainsNumber(Words) values('He12345llo');
Query OK, 1 row affected (0.19 sec)

mysql> insert into StringContainsNumber(Words) values('MySQL is not a programming
4language');
Query OK, 1 row affected (0.17 sec)

mysql> insert into StringContainsNumber(Words) values('Java is an object oriented');
Query OK, 1 row affected (0.18 sec)

mysql> insert into StringContainsNumber(Words) values('Java does not support 456 multiple
inheritance');
Query OK, 1 row affected (0.20 sec)

mysql> insert into StringContainsNumber(Words) values('MySQL is a RDBMS 456');
Query OK, 1 row affected (0.19 sec)

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

mysql> select *from StringContainsNumber;

以下是输出。

+----+------------------------------------------------+
| Id | Words                                          |
+----+------------------------------------------------+
|  1 | He12345llo                                     |
|  2 | MySQL is not a programming 4language           |
|  3 | Java is an object oriented                     |
|  4 | Java does not support 456 multiple inheritance |
|  5 | MySQL is a RDBMS 456                           |
+----+------------------------------------------------+
5 rows in set (0.00 sec)

这是使用 REGEXP 查找包含数字的字符串的查询 −

mysql> select *from StringContainsNumber where Words regexp '[0-9]';

以下是输出 −

+----+------------------------------------------------+
| Id | Words                                          |
+----+------------------------------------------------+
|  1 | He12345llo                                     |
|  2 | MySQL is not a programming 4language           |
|  4 | Java does not support 456 multiple inheritance |
|  5 | MySQL is a RDBMS 456                           |
+----+------------------------------------------------+
4 rows in set (0.11 sec)

相关文章