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


猜你喜欢
- 一、简单优化1.图片纹理大小尽量为2的幂次方(比如128,512,1024等等),以便unity对其进行优化。2.将多个小图片纹理合并一个大
- 本文为大家分享了SQL Server使用row_number分页的实现方法,供大家参考,具体内容如下1、首先是select ROW_NUMB
- 以前写过《 10条影响CSS渲染速度的写法与建议》,今天放些数据出来,供参考;首先说明一点,CSS对网页的最后渲染出来的速度影响非
- Numpy、Pandas是Python数据处理中经常用到的两个框架,都是采用C语言编写,所以运算速度快。Matplotlib是Python的
- 直接转换就行了,key为DataFrame的column;import pandas as pddata = pd.read_csv(
- 下面,小编将通过一组实例演示,让大家更直观,更清楚明白的了解要设置中文这一内容的操作步骤。首先展示实例代码:import pygamefro
- 最近在OpenCV-Python接口中使用cv2.findContours()函数来查找检测物体的轮廓。根据网上的 教程,Python&nb
- 使用python里的indexnums = [1, 2, 3, 4, 5, 6, 1, 9]print nums.index(max(num
- 守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控。此类程序会被以进程的形式初始
- 1.背景一直苦恼于本地机器和服务器上都要配置一些机器学习方面的环境,今天花了点时间研究了下Jupter notebook远程访问服务器,所以
- 1、运动速率上节中,实现了一辆汽车在马路上由下到上行驶,并使用了pygame.time.delay(200)来进行时间延迟。看了很多参考材料
- 一、首先进入官网https://www.python.org/1.点击Downloads 如图显示3.91 点击2.双击安装程序,进入下面的
- DIV与TABLE本身并不存在什么优缺点,所谓web标准只是推荐的是正确的使用标签,好比说:DIV用于布局,而TABLE则本来就是转二维数据
- Python 通过pywin32模块调用WindowsAPI接口,实现对特定进程加载模块的枚举输出并检测该PE程序模块所启用的保护方式,此处
- 废话不多说,直接给大家贴代码了,具体代码如下所示,关键代码如下:<!DOCTYPE html> <html lang=&q
- AJAX应用因为它们的表现力的丰富、更加互动和更加迅速的响应得到了赞扬声;这些优点都是通过使用XMLHttpRequest对象来动态的载入数
- 一、前言 🎈Beego Web框架应该是国内Go语言社区第一个框架,个人觉得十分适合新手入门Go Web。笔者半年前写过一篇搭建Beego项
- 网页制作中用到的特效字,你一定是用图象处理软件制作的吧!告诉你,不用图象处理软件,我也能做出漂亮的特效字来,你看,阴影字我就是这样做出来的。
- 亲测可用学习vee-validate,首先可以去阅读官方文档,更为详细可以阅读官网中的规则。一、安装您可以通过npm或通过CDN安装此插件。
- 诊断SQLSERVER问题常用的日志这里主要有两个:(1)Windows事件日志(2)SQLSERVER ErrorLog1、Windows