I have a price field in table which has price as
$5000
$500
$6000
$4000
I want to sort them in ascending order.
I tried
ORDER BY SUBSTRING_INDEX('price', '$', 1),
CAST(SUBSTRING_INDEX(`price`, '$', -1) AS SIGNED)
but its not working.
SELECT CAST(SUBSTRING_INDEX(price, '$', -1) AS SIGNED)
FROM test
ORDER BY 1
select * from (select '$400' cur
-> union
-> select '$600' cur
-> union
-> select '$200' cur) t
-> order by substring(cur,2) desc;
In short, substring in order by clause. So, you should be writing your query something like
SELECT column1,column2 from your table
order by substring(currency_column,2) desc|asc;
SELECT price FROM test order by CAST(SUBSTRING_INDEX(price, '$', -1) AS SIGNED)