mysql将字符串转换成数值

一、背景

最近遇到一个需求,给某个字段进行排序,这原本是一再简单不过的事情。我兴高采烈地写好了代码,放到测试环境上一排序,什么鬼100在15后面。查看对应数据库存放的字段类型,我的天是varchar。

二、解决方法

有三种解决方法:

1、字符串+0

select * from test order by (value+0)  desc

2、使用 CAST 函数

select * from test order by CAST(value as SIGNED)  desc

3、使用 CONVERT 函数

select * from test order by CONVERT(value ,SIGNED)  desc

三、备注

可能有同学会有疑惑 SIGNED 是什么东东,以下三种是常用的类型。

浮点数 : DECIMAL 
整数 : SIGNED
无符号整数 : UNSIGNED 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值