SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ;

SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID + 1);

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

2017年09月17日 01:36:31 阅读数:6566

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/superit401/article/details/78007969

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

mysql将字符串字段转为数字排序或比大小相关推荐

  1. Mysql字符串截取 mysql将字符串字段转为数字排序或比大小

    SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...

  2. mysql sql 字符串字段保留数字_sql中取字符串中的数字语句_MySQL

    bitsCN.com one: declare @s varchar(20) declare @i varchar(20) set @i='' set @s='新会员必须购买350元产品' while ...

  3. mysql sql 字符串字段保留数字_SQL字符串以及数字常用操作汇总

    SQL字符串以及数字常用操作汇总 更新时间:2013年06月11日 09:05:12   作者: 本篇文章是对SQL字符串以及数字的常用操作进行了详细的总结与分析,需要的朋友参考下 --将字符串中从某 ...

  4. 按字符串里的数字排序

    按字符串里的数字排序 给出的字符串结构是前边是字母.后边为数字,例如wew0145,要求给出一组数据,按照后边的数字从小到大排序. 输入 wr0068,lt01,qhy0027828,gh204252 ...

  5. mysql将字符串转成数字

    今天写sql语句时,相对字符串类型的数字进行排序,怎么做呢? 需要先转换成数字再进行排序 1.直接用加法 字符串+0 eg: select * from orders order by (mark+0 ...

  6. MySQL判断字符串是否是数字

    采用REGEXP运算符 {String} REGEXP '[^0-9.]' isNotNum : true 不是数字 , false 是数字,字符串中有空格也会被判断出来 select ('123' ...

  7. MySQL 按指定字段自定义列表排序

    问题描述 大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例, 下同): SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ...

  8. 把数字翻译成字符串python_python中如何将字符串强制转为数字

    python中强制将字符串转换为数字的方法: 1.python中可以使用int()函数将字符串转换为整型数字,int() 函数用于将一个字符串或数字转换为整型. int() 方法的语法:class i ...

  9. python 字符串list转为数字list

    字符串list num_list = ['1', '2', '3', '4'] 方法1:列表生成式 num_list = [ int(x) for x in num_list ] 方法2:map函数 ...

最新文章

  1. iOS开发之自定义View的一些坑
  2. 此microsoft fix it不适用于您的操作系统 解决方案
  3. PC寄存器为什么会被设定为线程私有
  4. [LeetCode] Plus One 加一运算
  5. Arcgis土地利用转移矩阵制作
  6. 43. 盘点那些必问的数据结构算法题之二叉树基础
  7. 现实赢了袖手旁观他在冷眼看我们
  8. vmware虚拟机关闭防火墙
  9. 基于单片机的坐姿(提醒)矫正系统设计
  10. 最简单的推送提醒服务-Bark
  11. ThoughtWorks-2021上半年,请24期技术雷达正式发布!
  12. 用函数的知识来编写一个判断素数的小程序
  13. COMFORT 尊驾 | 内外兼修 全面进化
  14. 字符串的引用和初始化
  15. 腾讯王巨宏:拥抱开源是这个时代开发者应该具备的思维和能力
  16. 教你如何将华为云CDN日志转存到OBS
  17. 税务总局:电子专票用电子签名代替纸质发票的发票专用章,全国范围受票
  18. unipush解决华为、小米、魅族收不到厂商推送的问题
  19. WinForm实现通用的窗体基于屏幕中间或父窗体中间
  20. Given Name.Family Name的区别

热门文章

  1. python自动输入支付密码_Python之控制台输入密码的方法
  2. 脑机接口EEG信号分类算法
  3. 新冠疫情使新科研项目减少36%,生物化学研究下降最多,女性科学家最受影响 | Nature子刊...
  4. 谷歌Colab也搞“超级会员”,普通会员云GPU被降级,想用高端得加钱
  5. 克服DIMM近存计算系统的通信瓶颈,清华软件定义芯片团队提出DIMM间广播技术 | ISCA 2021...
  6. 英伟达一大波硬件来袭:今日GTC发布专业GPU与DPU,为收购ARM将在英国建超算
  7. 小米做手机是真不赚钱,米粉要支持请多容忍广告
  8. AI创业公司最佳「开发工具」指南火了,还发现了个可挑战Jupyter的「杀手」
  9. 传奇芯片设计大神Jim Keller又离职了,英特尔失了总设计师,网友喊话雷军:挖他!...
  10. 特斯拉前员工承认备份AutoPilot代码,但入职小鹏汽车前已删除