码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MySQL-字符串按照数值排序


    文章目录

    • 1.需求
    • 2.方法
      • 1)与 int 进行计算
      • 2)cast() 或 convert()

    1.需求

    MySQL 有个表字段设计的时候,设置为了 varchar 类型,存取的却是数值,后续有业务需要按照此字段排序,获取最大值。

    按照最原始的排序语句为:

    SELECT * FROM test_21 a ORDER BY a.testId desc;
    
    • 1

    结果为:
    在这里插入图片描述
    这个并不是想要的结果。

    2.方法

    改造一下

    1)与 int 进行计算

    SELECT * FROM test_21 a ORDER BY a.testId+0 desc;
    SELECT * FROM test_21 a ORDER BY a.testId-2 desc;
    SELECT * FROM test_21 a ORDER BY a.testId*1 desc;
    SELECT * FROM test_21 a ORDER BY a.testId/4 desc;
    
    • 1
    • 2
    • 3
    • 4

    MySQL 的 varchar 与 int 计算时,会转换为 int。
    以上4个 sql 的执行结果都为
    在这里插入图片描述

    2)cast() 或 convert()

    SELECT * FROM test_21 a ORDER BY cast(a.testId as SIGNED) desc;
    SELECT * FROM test_21 a ORDER BY convert(a.testId,SIGNED) desc;
    
    • 1
    • 2

    这两个函数都是用于格式转换的,二者没什么区别,
    语法为:
    CAST(expr AS type)
    CONVERT(expr,type)
    支持的类型有

    值说明
    DATE将expr转换成’YYYY-MM-DD’格式
    DATETIME将expr转换成’YYYY-MM-DD HH:MM:SS’格式
    TIME将expr转换成’HH:MM:SS’格式
    CHAR将expr转换成CHAR(固定长度的字符串)格式
    SIGNED将expr转换成INT(有符号的整数)格式
    UNSIGNED将expr转换成INT(无符号的整数)格式
    DECIMAL将expr转换成FLOAT(浮点数)格式
    BINARY将expr转换成二进制格式

    结果都为:
    在这里插入图片描述

  • 相关阅读:
    接了一个2000块的小活,大家进来看看值不值,附源码
    搭建本地私有仓库
    Codeforces Round 910 (Div. 2) --- B-E 补题记录
    设定并理解随机数种子 && Pytorch在Dataloader类中设置shuffle的随机数种子方式
    npm打包整个过程
    深入解读[面向对象五大设计原则]
    HCIA回顾笔记
    问题记录1 json解析问题
    蓝桥杯经典算法题 确定字符串是否是另一个的排序
    手把手教你下载XShell免费版(超详细)
  • 原文地址:https://blog.csdn.net/JustDI0209/article/details/125915651
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号