Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在数据库中,它存储的值是
M2345 45 M345 E21 A3
有没有办法正确排序?喜欢
A3 E21 45 M345 M2345
假设在数字开始之前最多可以有一个字母,您可以在排序定义中使用这样的条件:
ORDER BY CAST(IF(col REGEXP '^[a-z]', SUBSTRING(col, 2), col) AS SIGNED)
不幸的是,MySQL 没有可以处理正则表达式的替换函数,否则此时这将非常有用。
您可能还需要考虑将数值本身存储在单独的计算字段中,以便更有效地进行排序。