在MySQL中按字串長度排序?


您可以使用MySQL的CHAR_LENGTH()函式按字元長度排序。此函式返回字元數,例如,對於以下字串,返回4:

AMIT

要按字元長度對字串排序,語法如下:

select *from yourTableName order by CHAR_LENGTH(yourColumnName);

為了理解上述概念,讓我們先建立一個表。建立表的查詢如下:

mysql> create table OrderByCharacterLength
   −> (
   −> BookName varchar(200)
   −> );
Query OK, 0 rows affected (1.97 sec)

使用insert命令在表中插入一些記錄。查詢如下:

mysql> insert into OrderByCharacterLength values('Let us C');
Query OK, 1 row affected (0.31 sec)

mysql> insert into OrderByCharacterLength values('Introduction to C');
Query OK, 1 row affected (0.20 sec)

mysql> insert into OrderByCharacterLength values('Data Structure And Algorithm in Java ');
Query OK, 1 row affected (0.13 sec)

mysql> insert into OrderByCharacterLength values('C in Depth');
Query OK, 1 row affected (0.17 sec)

mysql> insert into OrderByCharacterLength values('Java Projects');
Query OK, 1 row affected (0.23 sec)

讓我們按照在上面表中插入的順序顯示所有記錄。查詢如下:

mysql> select *from OrderByCharacterLength;

輸出如下:

+---------------------------------------+
| BookName                              |
+---------------------------------------+
| Let us C                              |
| Introduction to C                     |
| Data Structure And Algorithm in Java  |
| C in Depth                            |
| Java Projects                         |
+---------------------------------------+
5 rows in set (0.00 sec)

以下是按字元長度排列所有記錄的查詢。如果列值具有最小長度,則它將具有更高的優先順序,並將首先顯示。

查詢如下:

mysql> select *from OrderByCharacterLength order by CHAR_LENGTH(BookName);

輸出如下:

+---------------------------------------+
| BookName                              |
+---------------------------------------+
| Let us C                              |
| C in Depth                            |
| Java Projects                         |
| Introduction to C                     |
| Data Structure And Algorithm in Java  |
+---------------------------------------+
5 rows in set (0.00 sec)

更新於:2019年7月30日

302 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.