使用函数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)