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


Posted in MySQL onJune 14, 2022

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

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

是的,你没看错,就是“+0”这样一个简单的操作。

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

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

MySQL 相关文章推荐
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
Apr 05 MySQL
Mysql - 常用函数 每天积极向上
Apr 05 MySQL
MySQL高速缓存启动方法及参数详解(query_cache_size)
Jul 01 MySQL
MySQL系列之十五 MySQL常用配置和性能压力测试
Jul 02 MySQL
SQL语法CONSTRAINT约束操作详情
Jan 18 MySQL
mysql中数据库覆盖导入的几种方式总结
Mar 25 MySQL
SQL语句多表联合查询的方法示例
Apr 18 MySQL
mysql字段为NULL索引是否会失效实例详解
May 30 MySQL
MySQL transaction事务安全示例讲解
Jun 21 MySQL
MySQL数据库表约束讲解
Jun 21 MySQL
MySQL深分页问题解决思路
Dec 24 MySQL
关于MySQL中explain工具的使用
May 08 MySQL
手把手带你彻底卸载MySQL数据库
MYSQL中文乱码问题的解决方案
Jun 14 #MySQL
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
Jun 14 #MySQL
MySql如何将查询的出来的字段进行转换
Jun 14 #MySQL
MySQL安装失败的原因及解决步骤
MySQL范围查询优化的场景实例详解
Jun 10 #MySQL
MySQL数据库如何查看表占用空间大小
Jun 10 #MySQL
You might like
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
vue.js入门教程之绑定class和style样式
2016/09/02 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
Python中shape计算矩阵的方法示例
2017/04/21 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
Python实现拷贝/删除文件夹的方法详解
2018/08/29 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
Pyorch之numpy与torch之间相互转换方式
2019/12/31 Python
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
会计毕业自我鉴定
2014/02/05 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
党员一帮一活动总结
2014/07/08 职场文书
向国旗敬礼活动总结
2014/09/27 职场文书
个人工作作风整改措施思想汇报
2014/10/13 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
党员公开承诺书2015
2015/01/21 职场文书
佛光寺导游词
2015/02/10 职场文书
导游词之五台山
2019/10/11 职场文书
SQL SERVER触发器详解
2022/02/24 SQL Server
python实现一个简单的贪吃蛇游戏附代码
2022/06/28 Python