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

mysql實現將字符串字段轉為數字排序或比大小

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

將字符串字段轉為數字排序或比大小

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

這時候需要把字符串轉成數字再排序。

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

如把'123'轉成數字123(以下例子全為親測):

排序

例:

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

比大小

例:

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

綜合例子:

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

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

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

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

解決方法

寫法如下:

select * from XX where 字段A+0 < 數字 + 0

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

運行結果貼出來,自己看吧

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

相關文章

最新評論

无为县| 思南县| 德惠市| 元朗区| 六盘水市| 永昌县| 德江县| 房山区| 常山县| 青川县| 阿巴嘎旗| 卫辉市| 寿宁县| 大埔县| 昭觉县| 越西县| 金阳县| 英德市| 宣恩县| 闽侯县| 哈尔滨市| 仙居县| 武邑县| 平安县| 钟山县| 绥化市| 永靖县| 景德镇市| 泗阳县| 炉霍县| 府谷县| 庆阳市| 阿鲁科尔沁旗| 高要市| 温宿县| 郎溪县| 永德县| 隆化县| 大田县| 雷波县| 香港|