在MySQL中仅对字母数字字符串中的数字进行排序?
要仅对字母数字字符串中的数字排序,请使用ORDERBYRIGHT()
。让我们首先创建一个表-
mysql> create table DemoTable1948 ( StudentCode varchar(20) );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable1948 values('121John_567'); mysql> insert into DemoTable1948 values('Adam_101'); mysql> insert into DemoTable1948 values('Bob_563'); mysql> insert into DemoTable1948 values('Sam_346');
使用select语句显示表中的所有记录-
mysql> select * from DemoTable1948;
这将产生以下输出-
+-------------+ | StudentCode | +-------------+ | 121John_567 | | Adam_101 | | Bob_563 | | Sam_346 | +-------------+ 4 rows in set (0.00 sec)
这是只对MySQL中字母数字字符串中的数字进行排序的查询-
mysql> select * from DemoTable1948 order by RIGHT(StudentCode,3);
这将产生以下输出-
+-------------+ | StudentCode | +-------------+ | Adam_101 | | Sam_346 | | Bob_563 | | 121John_567 | +-------------+ 4 rows in set (0.00 sec)