0

我有一个带有字段的diplayPricevarchar。该字段用10.90 EUR3.90 EUR等填充119.00 EUR

我该如何排序?

我尝试了几件事,例如:

Select * From produkte ORDER BY length('DisplayPrice') 

Select * From produkte ORDER BY CAST(`DisplayPrice` AS SIGNED)

提前致谢。

4

3 回答 3

0

或者只是将其转换为十进制,以便您轻松订购。

SELECT *  
FROM produkte  
ORDER by Cast(LEFT(DisplayPrice,LENGTH(DisplayPrice)-4) as dec(10,2))

但是你需要在这里减少你的货币。我建议您将其放在另一列中以更灵活(即排序;))

于 2012-06-27T07:14:26.290 回答
0

试试这个查询 -

SELECT * FROM produkte ORDER BY DisplayPrice * 1

这将有助于将 DisplayPrice 转换为数值。

于 2012-06-27T07:07:33.347 回答
0

您可以使用子字符串来获取只有数字的部分并对其进行排序。这是未经测试的。

select *,substring_index(displayPrice,' ',1) as displayPriceVal ...... order by displayPriceVal
于 2012-06-27T07:08:18.433 回答