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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • myeclipse注册码获取

    myeclipse注册码获取首先在myeclipse随便新建一个javaproject,然后在默认的package中新建一个java文件我名字命名为MyEclipseGen,下面是代码:importjava.io.*;publicclassMyEclipseGen{privatestaticfinalStringLL=”Decompilingthiscopyrighted…

    2022年9月28日
    3
  • myeclipse 的 svn插件安装 —– myeclipse2017,2018

    myeclipse 的 svn插件安装 —– myeclipse2017,20181.下载site-1.10.13-1.9.x  官方版:http://subclipse.tigris.org/files/documents/906/49486/site-1.10.13-1.9.x.zip(点击直接下载)2.打开压缩包会发现目录结构如下:3.将features文件夹中的文件复制到Myeclipse安装目录中的features文件夹中,…

    2022年7月20日
    12
  • 8_搭建商城搜索微服务[通俗易懂]

    8_搭建商城搜索微服务[通俗易懂]搜索服务的父项目:supergo_search1、建Module:supergo_search2、删除src搜索服务的提供者:supergo_search_service90031、建Module:supergo_search_service90032、改pom<?xmlversion=”1.0″encoding=”UTF-8″?><projectxmlns=”http://maven.apache.org/POM/4.0.0″xmlns:xsi=

    2022年6月25日
    25
  • Python 打包成mac app

    Python打包成macapp一、创建一个简单的Tkinter应用,并命名为Sandwich.py:importsysifsys.version_info  #Python2  importTkinterastkelse:  #Python3  importtkinterast

    2022年4月12日
    324
  • 软硬件版本号命名规范及原则是什么_文件版本号怎么编

    软硬件版本号命名规范及原则是什么_文件版本号怎么编1.软件版本阶段说明 Alpha版:此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。 Beta版:该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。 RC版:该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几。 Release版:该版本意味“最终版本”,在前面版本的一系列

    2025年10月20日
    2
  • Map 的 key、value 是否允许为null

    Map 的 key、value 是否允许为null

    2021年6月19日
    159

发表回复

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

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