这个问题在这里已经有答案了:
按最后3个字符排序(4个答案)
两年前关门了。
我在列中的值如下
001aka,
004heh,
002kol,
007nam,
003wom,
005emn,
006sup
添加order by子句可提供值
001aka,
002kol,
003wom,
004heh,
005emn,
006sup,
007nam
但我希望这些值是按当前的字符排序的,而不是按数字排序的
期望输出:
001aka,
005emn,
004heh,
002kol,
007nam,
006sup,
003wom
2条答案
按热度按时间n9vozmp41#
如果您正在寻找高性能的解决方案,则需要拆分此字段并向表中添加额外的索引字段以保存拆分的文本。插入和更新时,可以同时保存列值和子字符串值。然后按索引列排序。
原始列将保留“001aka”,索引列将保留“aka”
如果您有一个大表,纯sql解决方案将降低性能。
t9eec4r02#
用子串函数排序怎么样--