从MySQL中的记录中获取数字?

使用函数CONVERT()或正则表达式。该CONVERT()方法将值从一种数据类型转换为另一种数据类型。这无疑会为我们获取数字。让我们来看一个例子。

首先,我们将创建一个表。

mysql> create table textIntoNumberDemo
   -> (
   -> Name varchar(100)
   -> );

插入一些记录。

mysql> insert into textIntoNumberDemo values('John-11');

mysql> insert into textIntoNumberDemo values('John-12');

mysql> insert into textIntoNumberDemo values('John-2');

mysql> insert into textIntoNumberDemo values('John-4');

显示所有记录。

mysql> select *from textIntoNumberDemo;

这是输出。

+---------+
| Name    |
+---------+
| John-11 |
| John-12 |
| John-2  |
| John-4  |
+---------+
4 rows in set (0.00 sec)

提取数字的语法。

SELECT yourColumnName,CONVERT(SUBSTRING_INDEX(yourColumnName,'-',-1),UNSIGNED INTEGER) AS  yourVariableName
FROM yourTableName
order by yourVariableName;

以下是查询。

mysql> SELECT Name,CONVERT(SUBSTRING_INDEX(Name,'-',-1),UNSIGNED INTEGER) AS MyNumber
   -> FROM textIntoNumberDemo
   -> order by MyNumber;

这是输出。

+---------+----------+
| Name    | MyNumber |
+---------+----------+
| John-2  |        2 |
| John-4  |        4 |
| John-11 |       11 |
| John-12 |       12 |
+---------+----------+
4 rows in set (0.00 sec)