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 ?
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
Try ABS():
SELECT * FROM MyTable ORDER BY ABS(MyCol) DESC;
SQL Fiddle
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With