mysql 字符转数字进行比较大小_mysql将字符串字段转为数字排序或比大小

mysql 字符转数字进行比较大小_mysql将字符串字段转为数字排序或比大小mysql里面有个坑就是,有时按照某个字段的大小排序(或是比大小)发现排序有点错乱。后来才发现,是我们想当然地把对字符串字段当成数字并按照其大小排序(或是比大小),结果肯定不会是你想要的结果。这时候需要把字符串转成数字再排序。最简单的办法就是在字段后面加上+0如把’123’转成数字123(以下例子全为亲测):排序:例:方法一:ORDERBY’123’+0;(首推)方法二:ORDERBYCA…

大家好,又见面了,我是你们的朋友全栈君。

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

转载至链接:https://my.oschina.net/u/2331760/blog/1842421

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139407.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用websocket实现实时聊天功能

    用websocket实现实时聊天功能最近想实现网页版的仿QQ聊天工具,本来想用ajax实现的,但是一想到要一直轮询,就感觉有点蠢。后来在网上找到了websocket相关的资料,就拿来跟大家分享下(不是很熟练,现在只实现了群聊,单聊的前端不会写了。但可以跟大家说说思路)。服务器端代码:首先要创建类WebSocketConfig实现ServerApplicationConfig接口,ServerApplicationConfig项目…

    2022年10月21日
    0
  • select into from 和 insert into select 的用法和区别

    select into from 和 insert into select 的用法和区别selectintofrom和insertintoselect都是用来复制表,两者的主要区别为:selectintofrom要求目标表不存在,因为在插入时会自动创建。insertintoselectfrom要求目标表存在 下面分别介绍两者语法 一、INSERTINTOSELECT语句 1、语句形式为:InsertintoTable2(field1…

    2022年7月15日
    21
  • Vue学习-day02

    Vue学习-day02

    2021年7月12日
    93
  • 【超详细】手把手教你ElasticSearch集群搭建

    【超详细】手把手教你ElasticSearch集群搭建1.ElasticSearch快速入门1.1.基本介绍ElasticSearch特色Elasticsearch是实时的分布式搜索分析引擎,内部使用Lucene做索引与搜索实时性:新增到ES中的数据在1秒后就可以被检索到,这种新增数据对搜索的可见性称为“准实时搜索”分布式:意味着可以动态调整集群规模,弹性扩容集群规模:可以扩展到上百台服务器,处理PB级结构化或非结构化数据各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作Lucene是Ja

    2022年10月13日
    0
  • List 去重的 6 种方法[通俗易懂]

    List 去重的 6 种方法[通俗易懂]方法1:contains判断去重(有序)要进行数据去重,我们首先想到的是新建一个集合,然后循环原来的集合,每次循环判断原集合中的循环项,如果当前循环的数据,没有在新集合中存在就插入,已经存在了就舍弃,这样当循环执行完,我们就得到了一个没有重复元素的集合了,实现代码如下:publicclassListController{publicstaticvoidmain(String[]args){List<Integer>list=newArra

    2022年5月26日
    47
  • c#的传输组件dotnetty

    c#的传输组件dotnetty牛皮不多了,继续吹起。。。。最近一直看大家写的东西,了解的内容不少,我的牛皮也差不多吹完了。。。。最后在说说最近测试的dotnetty.去年弄下来试了,不行,最近又弄下来了看看,可以了。哇哈哈哈哈哈哈。我用过java的netty,就不多说它的使用和原理了,网上有书,有无数的博文,随便找。当然dotnetty比较少,毕竟才出来不久,而且还是.netcore的。这个是翻译的使用原理可以看…

    2025年7月4日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号