mysql实现将字符串字段转为数字排序或比大小
作者:ispotu 发布时间:2024-01-16 19:59:16
标签:mysql,字符串字段,数字排序,比大小
将字符串字段转为数字排序或比大小
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”这样一个简单的操作。
运行结果贴出来,自己看吧
来源:https://ispotu.blog.csdn.net/article/details/78007969
0
投稿
猜你喜欢
- 前言Python 字典 update()方法用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中。语法格式d.
- 申明如下:1 本着大家都学习的目的,我们只研究官方对应的4.0板本,请大家注意尊重开发者,保护知识产权,商业使用,请到官方购买正板!2 文章
- 本文实例为大家分享了python实现求纯色彩图像的边框,供大家参考,具体内容如下先上效果图,这里显示有点色差, 实际数值是纯色的, 而不是混
- Pycharm本身并不带编译器,所以第一次用需要自己下载编译器插件。1、首先去 https://www.python.org/downloa
- 我们一般采用photoshop等做图工具制作电视扫描线效果图片:首先做一个黑白相间的图案,然后用这个图案进行填充,再调整图层的模式或者透明度
- 环境配置Django版本1.11python版本3.6.2前言在编写Django网站的时候,在涉及模板方面,一些简单的例子都没有问题,但这些
- Pandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率转换的便捷的方法。降采样:高
- 我就废话不多说了,大家还是直接看代码吧~import pandas as pdimport numpy as npcolumns = [[&
- 一、介绍数据库的约束是对表中数据进行的一种限制,为了保证数据的正确性、有效性、完整性。无论是在添加数据还是在删除数据的时候,都能提供帮助。所
- 本文主要讲述的是对Python中property属性(特性)的理解,具体如下。定义及作用:在property类中,有三个成员方法和三个装饰器
- 本文实例为大家分享了python实现学生管理系统的具体代码,供大家参考,具体内容如下一.面向过程版import osstu_list = [
- 一:脚本需求利用Python3查询网站权重并自动存储在本地数据库(Mysql数据库)中,同时导出一份网站权重查询结果的EXCEL表格数据库类
- 引言:在机器学习还有深度学习中,经常会用到这几个函数,为了便于以后熟练使用,现在对这几个函数进行总结。(一)np.random.rand()
- 绘制双变量联合分布图有时我们不仅需要查看单个变量的分 布,同时也需要查看变量之间的联系, 往往还需要进行预测等。这时就需要用到双变量联合分布
- 应该是很方便的了,支持几乎所有主流浏览器(ie5,6,7,8;ff;傲游;Opera)已更新至可提交录入内容<script type=
- python正则模块re中findall和finditer两者相似,但却有很大区别。 两者都可以获取所有的匹配结果,这和searc
- 游戏规则:双方轮流选择棋盘的列号放进自己的棋子,若棋盘上有四颗相同型号的棋子在一行、一列或一条斜线上连接起来,则使用该型号棋子的玩家就赢了!
- 01、文件操作文件是操作系统提供给用户/应用程序操作硬盘的一个虚拟的概念/接口用户/应用程序可以通过文件将数据永久保存在硬盘中用户/应用程序
- map()函数可以对一个数据进行同等迭代操作。例如:def f(x): return x * xr = map(f, [1,
- 案例解析这个问题描述起来有点违反直觉,要执行一个文件难道不应该需要可执行权限吗?让我们先来看一个例子:# module1.pydef tes