在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)
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP