如何在mysql

时间:2016-10-17 07:36:28

标签: php mysql

好的, 我对数据库中的某些值有一点问题 ,我有2种不同类型的值,因为我有列Price(varchar),问题就是那样

[picture]

我尝试投射select price from products order by CAST(price AS SIGNED) asc,但没有结果,因为价格没有"。"没有很好的排序

谢谢!

1 个答案:

答案 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就足够了。