MySQL中对varchar类型排序问题的解决
生活随笔
收集整理的這篇文章主要介紹了
MySQL中对varchar类型排序问题的解决
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
mysql數(shù)據(jù)庫,把數(shù)值型的寫成varchar類型 ,其實(shí)應(yīng)該建為int的。因?yàn)槲抑辉试S輸出數(shù)字。發(fā)現(xiàn)排序有問題。下面簡單說一下MySQL的varchar排序問題。
下面,我從數(shù)據(jù)庫里面以number排一下序,大家來看一下排序后的結(jié)果
很明顯,我想要的結(jié)果應(yīng)該是 1,2,5,10,21 這樣的。但是這個(gè)2排在了10的后面。按照字符串來排的。其實(shí)我是想把它當(dāng)做數(shù)值來排。
解決方案
1、使用number+0之后再排序,問題解決了。
2、使用-number之后再排序,問題解決了。但是這種方式會(huì)按照意想的方式排序,因?yàn)閷⑵鋵?shí)做法是將number轉(zhuǎn)為了負(fù)數(shù) 。
3、使用MySQL函數(shù)CAST:
總結(jié)
以上是生活随笔為你收集整理的MySQL中对varchar类型排序问题的解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html 实现动态在线预览word、ex
- 下一篇: java 16进制与图片互转