最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql實現(xiàn)將字符串字段轉(zhuǎn)為數(shù)字排序或比大小

 更新時間:2022年06月13日 16:16:34   作者:ispotu  
這篇文章主要介紹了mysql實現(xiàn)將字符串字段轉(zhuǎn)為數(shù)字排序或比大小,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

將字符串字段轉(zhuǎn)為數(shù)字排序或比大小

mysql里面有個坑就是,有時按照某個字段的大小排序(或是比大?。┌l(fā)現(xiàn)排序有點錯亂。后來才發(fā)現(xiàn),是我們想當(dāng)然地把對字符串字段當(dāng)成數(shù)字并按照其大小排序(或是比大小),結(jié)果肯定不會是你想要的結(jié)果。

這時候需要把字符串轉(zhuǎn)成數(shù)字再排序。

最簡單的辦法就是在字段后面加上+0

如把'123'轉(zhuǎn)成數(shù)字123(以下例子全為親測):

排序

例:

  • 方法一:
ORDER BY '123'+0;(首推)
  • 方法二:
ORDER BY CAST('123' AS SIGNED);
  • 方法三:
ORDER BY CONVERT('123',SIGNED);

比大小

例:

SELECT '123'+0; ?-- ? 結(jié)果為123
SELECT '123'+0>127; ?-- ? 結(jié)果為0
SELECT '123'+0>12; ?-- ? 結(jié)果為1
SELECT CAST('123' AS SIGNED); ? ?-- ?結(jié)果為123
SELECT CONVERT('123',SIGNED)>127; ? -- ?結(jié)果為0
SELECT CONVERT('123',SIGNED)>12; ? -- ?結(jié)果為1
SELECT CAST('123' AS SIGNED); ?-- 結(jié)果為123
SELECT CAST('123' AS SIGNED)>127; ?-- 結(jié)果為0
SELECT CAST('123' AS SIGNED)>12; ? -- 結(jié)果為1

綜合例子:

SELECT '123'+0>12 ORDER BY CONVERT('123',SIGNED); ?-- ?結(jié)果為1

sql語句字符串如何比較大小

需求如下,字段A是varchar類型,現(xiàn)在要將字段A與一個數(shù)字比較。上網(wǎng)搜索了一下,99%給出的方法都是cast(字段A as int),或者convent(int,字段A)。

不知道為啥,這兩種方法我都試了,語法都不通過,更不用說運行了。

解決方法

寫法如下:

select * from XX where 字段A+0 < 數(shù)字 + 0

是的,你沒看錯,就是“+0”這樣一個簡單的操作。

運行結(jié)果貼出來,自己看吧

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

长寿区| 包头市| 中卫市| 讷河市| 江油市| 集安市| 福安市| 霍城县| 西充县| 都兰县| 弥勒县| 仁寿县| 兴义市| 东乡| 绥化市| 错那县| 云和县| 湾仔区| 扬州市| 南部县| 金门县| 佳木斯市| 花垣县| 怀安县| 镇安县| 墨脱县| 成都市| 定远县| 朔州市| 秦皇岛市| 胶州市| 凉城县| 绥阳县| 吉林省| 盐池县| 仙居县| 临洮县| 庄浪县| 自治县| 大庆市| 中方县|