mysql实现将字符串字段转为数字排序或比大小

作者:ispotu 时间:2024-01-16 19:59:16 

将字符串字段转为数字排序或比大小

mysql里面有个坑就是,有时按照某个字段的大小排序(或是比大小)发现排序有点错乱。后来才发现,是我们想当然地把对字符串字段当成数字并按照其大小排序(或是比大小),结果肯定不会是你想要的结果。

这时候需要把字符串转成数字再排序。

最简单的办法就是在字段后面加上+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

是的,你没看错,就是&ldquo;+0&rdquo;这样一个简单的操作。

mysql实现将字符串字段转为数字排序或比大小

运行结果贴出来,自己看吧

来源:https://ispotu.blog.csdn.net/article/details/78007969

标签:mysql,字符串字段,数字排序,比大小
0
投稿

猜你喜欢

  • Python decimal模块使用方法详解

    2022-09-06 12:04:33
  • Django使用channels + websocket打造在线聊天室

    2022-01-05 11:16:26
  • 原生js实现移动小球(碰撞检测)

    2024-04-19 09:56:01
  • d3.js实现简单的网络拓扑图实例代码

    2024-05-09 10:19:58
  • python爬虫selenium和phantomJs使用方法解析

    2023-02-06 19:23:38
  • python3.9.1环境安装的方法(图文)

    2023-06-26 15:58:26
  • php strstr查找字符串中是否包含某些字符的查找函数

    2023-11-17 01:42:23
  • 教你四种方法用来查看mysql版本

    2009-06-28 11:13:00
  • JavaScript实现同步于本地时间的动态时间显示方法

    2024-05-11 09:33:19
  • 正在研究XMLHTTP如何正确传送大于7F(127)的二进制数据

    2008-09-13 18:41:00
  • javascript让浏览器实现复读机的功能

    2008-10-10 11:49:00
  • python使用threading获取线程函数返回值的实现方法

    2023-10-28 09:34:21
  • 获取星期几的名称

    2012-01-29 18:16:31
  • python实现求纯色彩图像的边框

    2022-04-01 22:04:51
  • python 详解如何使用GPU大幅提高效率

    2023-08-24 19:45:46
  • 通过T_sql语句向其中一次填入一条数据或一次填入多条数据的方式填充数据

    2012-11-30 19:55:34
  • 详细讲解删除SQL Server日志的具体方法

    2008-12-09 14:32:00
  • java正则表达式之Pattern与Matcher类详解

    2023-06-21 10:14:03
  • php+highchats生成动态统计图

    2024-05-02 17:19:08
  • Python使用crontab模块设置和清除定时任务操作详解

    2023-02-07 15:13:37
  • asp之家 网络编程 m.aspxhome.com