I have one table like
CREATE TABLE table_name ( P_Id int, amount varchar(50) )
Data Like
Id amount ---------- 1 2340 2 4568 3 10000
Now I want to sort table by amount but one problem is amount is varchar so it sort table like this
Id amount ---------- 3 10000 1 2340 2 4568
but i want result like this
Id amount ---------- 3 10000 2 4568 1 2340
what should i do ?
Advertisement
Answer
Cast amount column into Numeric in ORDER BY
clause while selecting:
SELECT * FROM MyTable ORDER BY CAST(amount AS Numeric(10,0)) DESC
Result:
Id | amount |
---|---|
3 | 10000 |
2 | 4568 |
1 | 2340 |
See this SQLFiddle