如何在MYSQL中对字母数字字符进行排序

时间:2015-03-22 03:02:56

标签: mysql sorting alphanumeric

我在MySQL DB列中存在字母数字值;让我们说TOPIC。其价值如下:

P1, P2, P3, P4, P5, P6, P7, P8, P9 , P10, P11, P12, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 and so on...

在TOPIC上应用排序时;它给出了C1,C10,....的顺序 我正在寻找排序顺序为C1, C2, C3, .... C13... P1, P2, ..... P13

是否有任何MySQL功能可以实现相同的功能?

2 个答案:

答案 0 :(得分:1)

您可以使用:

ORDER BY LEFT(TOPIC,1), RIGHT(TOPIC,2) 

答案 1 :(得分:1)

首先对第一个字符进行排序,然后对其余字符进行排序,如int:

ORDER BY SUBSTRING(topic, 1, 1), CAST(SUBSTRING(topic, 2) AS UNSIGNED)

没试过。