您正在使用IPV4(35.168.110.128)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]文明驾车我带头,文明行路我带头,礼貌让座我带头      

【腾讯云】多款云产品1折起,买云服务器送免费机器,最长免费续3个月      
[公益] 节省一分零钱 献出一份爱心 温暖世间真情      
2022年 中秋节 21
2022年 国庆节 42
2023年 元 旦 134
2023年 春 节 155
 
本类新增
本类热门文章
您现在的位置:首页 >> 数据库 >> 内容
mysql实现将字符串字段转为数字排序或比大小
内容摘要: mysql里面有个坑就是,有时按照某个字段的大小排序(或是比大小)发现排序有点错乱。后来才发现,是我们想当然地把对字符串字段当成数字并按照其大小排序(或是比大小),结果肯定不会是你想要的结果。这时候需要把字符串转成数字再排序。最简单的办法就是在字段后面加上+0如把'123'转成数字123(以下例子全为亲测):排序例:方法一:ORDERBY'123'+0;(首......
mysql里面有个坑就是,有时按照某个字段的大小排序(或是比大小)发现排序有点错乱。后来才发现,是我们想当然地把对字符串字段当成数字并按照其大小排序(或是比大小),结果肯定不会是你想要的结果。

这时候需要把字符串转成数字再排序。

最简单的办法就是在字段后面加上+0

如把'123'转成数字123(以下例子全为亲测):

排序

例:

方法一:

ORDERBY'123'+0;(首推)

方法二:

ORDERBYCAST('123'ASSIGNED);

方法三:

ORDERBYCONVERT('123',SIGNED);

比大小

例:

SELECT'123'+0;--结果为123

SELECT'123'+0>127;--结果为0

SELECT'123'+0>12;--结果为1

SELECTCAST('123'ASSIGNED);--结果为123

SELECTCONVERT('123',SIGNED)>127;--结果为0

SELECTCONVERT('123',SIGNED)>12;--结果为1

SELECTCAST('123'ASSIGNED);--结果为123

SELECTCAST('123'ASSIGNED)>127;--结果为0

SELECTCAST('123'ASSIGNED)>12;--结果为1

综合例子:

SELECT'123'+0>12ORDERBYCONVERT('123',SIGNED);--结果为1

sql语句字符串如何比较大小

需求如下,字段A是varchar类型,现在要将字段A与一个数字比较。上网搜索了一下,99%给出的方法都是cast(字段Aasint),或者convent(int,字段A)。

不知道为啥,这两种方法我都试了,语法都不通过,更不用说运行了。

解决方法

写法如下:

select*fromXXwhere字段A+0<数字+0

是的,你没看错,就是“+0”这样一个简单的操作。

上一篇:SQL Server实现查询每个分组的前 下一篇:oracle数据库表实现自增主键的方法实
发布日期:2022/6/15
手机扫二维码直达本页
发布时间:13:16:26
点击:43
录入:壹家怡园
相关文章
Baidu

YiJiaCMS 6.3.1.220701(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护
Copyright©2000-2022