首页 > 解决方案 > MySQL TRIM 前导空格按子句问题排序

问题描述

大家好,这很容易解决,但找不到出路。我想申请ORDER BYname field某些值中有前导空格的值,因为这ORDER BY不会产生预期的结果。所以我TRIM申请ORDER BY CLAUSE

SELECT * FROM AssetManufacturerName ORDER BY TRIM(AssetManufacturerName)

但这仍然不会产生所需的输出,如下所示。因为前导空格Lenovo在顶部。我希望它排在第 2 位。

查询结果

Sample Table
+-------------+----------------+
|    ID       |     Name       |
+-------------+----------------+
|    01       | ' Robert King' |
|             |                |
|    02       | 'Arsim Kip'    |
+-------------+----------------+

我彻底解决了这个问题,但没有喜悦。我认为这是 MYSQL 版本问题。

注意:我们的应用程序正在运行 MYSQL 5.5.52。

标签: mysqlsql-order-bymysql-5.5

解决方案


修剪功能可以按预期工作。我怀疑它可能是不同的字符,如制表符。

ORDER BY TRIM(TRIM(BOTH '\t' FROM AssetManufacturerName))

db<>小提琴演示


推荐阅读