Mysql排序,下划线优先

Mysql sort, giving priority to underscore

我在 MySQL 中有这个字段。 (变量) 其中存储产品代码。有像:

ABC
ABCG
ABC_K

当我在此字段 ASC 上使用 order by 时,得到了上述结果。

我需要给下划线更多的优先权。这样结果就变成了这样:

ABC
ABC_K
ABCG

因为 ABC_K 与 ABC 的相关性高于 ABCG。

是否可以使用 MySQL 或我应该使用 PHP 排序?

感谢您的宝贵时间。

尝试:

ORDER BY REPLACE(prm, '_', ' '), prm

Space 个字符排在字母之前,因此这将给予它们优先权。

尝试

select prm from tablename order by replace(prm,"_","a") asc;

你可以得到你想要的。试一试。