[
我尝试投射select price from products order by CAST(price AS SIGNED) asc
,但没有结果,因为价格没有"。"没有很好的排序
谢谢!
答案 0 :(得分:4)
您应该选择DECIMAL
数据类型来存储价格值。
为了暂时绕过问题,您可以使用以下任何一种方法:
方法1: ...ORDER BY price+0 ASC..
或强>
方法2: ...ORDER BY CAST(price AS DECIMAL(18,4))...
注意:强>
更好地将price
列的数据类型更改为DECIMAL(18,4)
ALTER TABLE tablename MODIFY price DECIMAL(18,4);
如果您引入此更改,那么ORDER BY price ASC
就足够了。