在MySQL中使用货币符号排序价格

时间:2016-09-09 06:50:29

标签: php mysql

我在表格中有一个价格为

的价格字段
$5000
$500
$6000
$4000

我想按升序排序。

我试过

ORDER BY SUBSTRING_INDEX('price', '$', 1),
CAST(SUBSTRING_INDEX(`price`, '$', -1) AS SIGNED)

但它不起作用。

3 个答案:

答案 0 :(得分:0)

SELECT CAST(SUBSTRING_INDEX(price, '$', -1) AS SIGNED)
FROM test
ORDER BY 1

答案 1 :(得分:0)

select * from (select '$400' cur                                                                                     
    -> union                                                                                                                           
    -> select '$600' cur                                                                                                               
    -> union                                                                                                                           
    -> select '$200' cur) t                                                                                                            
    -> order by substring(cur,2) desc; 

简而言之,substring by order by子句。所以,您应该编写类似

的查询
SELECT column1,column2 from your table 
order by substring(currency_column,2) desc|asc; 

答案 2 :(得分:0)

按CAST从测试订单中选择价格(SUBSTRING_INDEX(价格,' $', - 1)已签名)