我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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”这样一个简单的操作。

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

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

目录将字符串字段转为数字排序或比大小排序比大小sql语句字符串如何比较大小解决方法将字符串字段转为数字排序或比大小mysql里面有个坑就是,有时按照某个字段的大小排序(或是比http://www.cppcns.com大小)发现排序有点错乱
2022-06-13

oracle如何将字符串转化为数字排序

在Oracle中,您可以使用TO_NUMBER函数将字符串转化为数字,然后对数字进行排序。以下是一个示例:SELECT column_nameFROM table_nameORDER BY TO_NUMBER(column_name)
oracle如何将字符串转化为数字排序
2024-04-30

oracle怎么将字符串转化为数字排序

在Oracle中,可以使用TO_NUMBER函数将字符串转化为数字,然后使用ORDER BY子句对数字进行排序。以下是一个示例:```sqlSELECT string_columnFROM your_tableORDER BY TO_NUM
2023-09-26

小程序如何将字符串转换为数字

这篇“小程序如何将字符串转换为数字”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“小程序如何将字符串转换为数字”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们
2023-06-26

sql字符串转换为数字排序怎么实现

要将SQL字符串转换为数字排序,可以使用CAST()函数将字符串转换为数字,然后进行排序。以下是一个示例:假设有一个包含数字字符串的表t,如下所示:+----+-------+| id | value |+----+-------+
sql字符串转换为数字排序怎么实现
2024-04-09

Python怎么将字符串转换为大写或小写形式

Python中可以使用字符串的方法upper()和lower()来将字符串转换为大写和小写形式。示例代码:string = "Hello, World!"upper_string = string.upper()lower_stri
Python怎么将字符串转换为大写或小写形式
2024-03-02

用Golang实现将字符串转换为数字的技巧

Golang中实现字符串到数字的转换技巧,需要具体代码示例在Golang中,经常需要将字符串转换为对应的数字类型,例如将字符串表示的整数转换为int类型,将字符串表示的浮点数转换为float类型。本文将介绍几种常用的字符串到数字的转换技巧
用Golang实现将字符串转换为数字的技巧
2024-01-16

怎么使用C语言函数将字符转为大写或小写

这篇文章主要介绍“怎么使用C语言函数将字符转为大写或小写”,在日常操作中,相信很多人在怎么使用C语言函数将字符转为大写或小写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用C语言函数将字符转为大写或小写
2023-06-17

如何实现JSON字符串转化为PHP对象或数组

这篇“如何实现JSON字符串转化为PHP对象或数组”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何实现JSON字符串转化为
2023-07-05

在java项目中如何实现将字符串转换为整数

这篇文章给大家介绍在java项目中如何实现将字符串转换为整数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。java中字符串转整数 该题虽然和我们正常使用的字符串转整数的API中函数不一致,但是通过增加了很多
2023-05-31

如何实现将字符串小写转大写并延时输出的批处理

这篇文章主要介绍了如何实现将字符串小写转大写并延时输出的批处理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。出题目的 1 掌握大、小写互换的技巧 2 掌握延时输出技巧 3 掌
2023-06-08

编程热搜

目录