MySQL-按顺序和前导零排序

MySQL-按顺序和前导零排序,mysql,Mysql,我的数据库中有一大堆产品,它们的名字很有想象力,比如“256”、“167布朗”和“1115布莱克” 我需要按产品编号返回订购的产品,这样名为256的产品在1115黑色之前,但在167棕色之后。 有办法吗?试试这个: SELECT code FROM your_table ORDER BY CAST(code AS SIGNED) +1我不认为这会起作用,因为尾随的是非数字字符,但它似乎正确地抛弃了它们。哦,这很聪明。很好,谢谢。但以防万一。。。假设产品名称只有字母,那么在所有数字之后,我如何将

我的数据库中有一大堆产品,它们的名字很有想象力,比如“256”、“167布朗”和“1115布莱克” 我需要按产品编号返回订购的产品,这样名为256的产品在1115黑色之前,但在167棕色之后。 有办法吗?

试试这个:

SELECT code FROM your_table
ORDER BY CAST(code AS SIGNED)

+1我不认为这会起作用,因为尾随的是非数字字符,但它似乎正确地抛弃了它们。哦,这很聪明。很好,谢谢。但以防万一。。。假设产品名称只有字母,那么在所有数字之后,我如何将其列为列表?(自字母转换为0后)