在 MySQL 中按字符长度对字符串进行排序?

mysqlmysqli database

您可以借助 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)

相关文章