SQL字符型字段按數字型字段排序實現方法


得分字段為varchar
那么按得分排序得到的結果可能是:
1
10
11
123
1234
2
25
253
3
但是我們想要按照數字排序
1
2
3
10
11
25
123
1234
253

這時候只需要
//一種 、
數字字符串為01 0100 02 0200 一排序就是這個順序,我想要變成01 02 0100 0200 就用下面這個辦法
把這個字段轉為int 然后再排 序就對了。
ORDER BY CAST(字段名 AS DECIMAL)
//另一種
假如你要排序的字段名為 mynum,

如果 mynum 是 int 型,直接排序即可: order by mynum

如果 mynum 是 string 型,但存的是數值,並且要出現你說的自然排序效果的話,要這樣做: order by mynum+0
m/benweet/stackedit

最后一種
使用MySQL絕對值函數ABS,它告訴MySQL使用絕對值來處理處理這個字段:
ORDER BY ABS(字段名)

版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/chenaini119/article/details/51733655


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM