我有一个带有字段的diplayPrice
表varchar
。该字段用10.90 EUR
、3.90 EUR
等填充119.00 EUR
。
我该如何排序?
我尝试了几件事,例如:
Select * From produkte ORDER BY length('DisplayPrice')
Select * From produkte ORDER BY CAST(`DisplayPrice` AS SIGNED)
提前致谢。
或者只是将其转换为十进制,以便您轻松订购。
SELECT *
FROM produkte
ORDER by Cast(LEFT(DisplayPrice,LENGTH(DisplayPrice)-4) as dec(10,2))
但是你需要在这里减少你的货币。我建议您将其放在另一列中以更灵活(即排序;))
试试这个查询 -
SELECT * FROM produkte ORDER BY DisplayPrice * 1
这将有助于将 DisplayPrice 转换为数值。
您可以使用子字符串来获取只有数字的部分并对其进行排序。这是未经测试的。
select *,substring_index(displayPrice,' ',1) as displayPriceVal ...... order by displayPriceVal