按以數字分隔的字串記錄中的數字值排序,如 CSE 15、CSE 11,等等。
我們首先建立一個表 −
mysql> create table DemoTable1969 ( BranchCode varchar(20) ); Query OK, 0 rows affected (0.00 sec)
使用插入命令在表中插入一些記錄 −
mysql> insert into DemoTable1969 values('CSE 101'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1969 values('CSE 11'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1969 values('CSE 15'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1969 values('CSE 6'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1969 values('CSE 201'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1969 values('CSE 110'); Query OK, 1 row affected (0.00 sec)
使用選擇語句顯示錶中的所有記錄 −
mysql> select * from DemoTable1969;
這將產生以下輸出 −
+------------+ | BranchCode | +------------+ | CSE 101 | | CSE 11 | | CSE 15 | | CSE 6 | | CSE 201 | | CSE 110 | +------------+ 6 rows in set (0.00 sec)
以下是要根據以數字分隔的字串記錄中的數字值排序的查詢 −
mysql> select * from DemoTable1969 order by CAST(SUBSTRING(BranchCode,LOCATE(' ',BranchCode)+1) AS SIGNED) DESC;
這將產生以下輸出 −
+------------+ | BranchCode | +------------+ | CSE 201 | | CSE 110 | | CSE 101 | | CSE 15 | | CSE 11 | | CSE 6 | +------------+ 6 rows in set (0.00 sec)
廣告