gpt4 book ai didi

php - MySQL Order by Decimal with whitespace

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:49 25 4
gpt4 key购买 nike

我不明白当我尝试按小数点排序时,价格字段没有空格,一切看起来都很棒。但是,当用户在数字之间添加空格时,这些字段会移到订购语句的底部。

我的price 字段是varchar 也试过用integer 也存在同样的问题。

这是一个没有空格的例子,当用户像这样插入 23000 时:

SELECT * FROM `products` ORDER BY CAST(price AS DECIMAL) DESC

给我:230002000013000100005000等

但是当用户输入像这样的价格 23 000 并且在 3 和 0 之间有空格时,我得到了这个:

SELECT * FROM `products` ORDER BY CAST(price AS DECIMAL) DESC

2000013000100005000和上次一样是 23 000

我该如何解决这个问题?

最佳答案

删除空格

SELECT * FROM `products` 
ORDER BY replace(price,' ','') * 1 DESC

但最好将您的列更改为 INT!

关于php - MySQL Order by Decimal with whitespace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20618158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com