mysql按列排序,包含带字母和数字的数据

时间:2010-11-04 22:47:55

标签: php mysql

您好,我有一个填充了产品的mysql数据库,每个产品都有一个产品代码 产品代码包含字母和数字 例如。 TL541,TL75等

我的客户想要按代码订购的产品,但TL541在TL75之前 大概是因为5低于7

如何按数字顺序排序?

2 个答案:

答案 0 :(得分:0)

这是一个没有规范化的数据库的问题。如果要将前缀和数字视为单独的数据元素,则需要将它们放在各自的列中。

答案 1 :(得分:0)

对于非常有限的例子,表现不佳的kludge:

ORDER BY 
   REPLACE(code,REVERSE(CAST(REVERSE(code) AS UNSIGNED)),''),
   CAST(REVERSE(CAST(REVERSE(code) AS UNSIGNED)) AS UNSIGNED)