在 MySQL 数据库中,价格以如下方式存储:
- 20.000
- 25.000
- 25.000
- 10.000
- 120
其中点代表千(意大利货币,如美国的逗号)。 如果我尝试使用“按价格 ASC 排序”对这些数据进行排序,我将得到以下顺序:
- 10.000
- 20.000
- 25.000
- 120
它似乎混淆了点和逗号。 事实上,120 是最后一个,但它应该是第一个。有没有办法正确排序序列?
最佳答案
是的。不要将它们存储为字符串。您应该改用 DECIMAL(10, 2)
,其中 10 是它可以存储的总位数,2 是小数点右侧的位数。您可以适当调整参数,但将它们存储为字符串并不是一个好主意。
关于php - MySQL, 价格排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9472837/