mysql中数字、百分比、数字型字符串、小数之间的转化

数字转小数:

round((SUM( CASE    WHEN SUBTASK_STATUS = 'finished' THEN       1 ELSE  0 END)/count(SUBTASK_STATUS)),2)
上面的意思等于下面的
round(2/3,2)
最后结果是0.67,round顾名思义是四舍五入的意思,2代表保留小数点后两位
总结:3/5 的结果保留小数点后面的两位小数并四舍五入

小数(可以看成是两个数字相除得到的结果,所以可以说数字)转百分比
数字转百分比

CONCAT( round((SUM( CASE    WHEN SUBTASK_STATUS = 'finished' THEN       1 ELSE  0 END)/count(SUBTASK_STATUS))*100 ),'%')
简化后:
concat(round(3/5)*100,'%')
concat(67,'%')
最后结果是:67%,concat的意思是进行字符串拼接(67+'%'=67%)
总结:小数和整数可以通过concat拼接成百分比,数据库中没办法直接得到百分比

字符型数字转数字

convert(int,字段名) 例如:select convert(int,'3'),结果是3

截取特定的字符型数字转数字

介绍:参数1:要截取的字符串,参数2:开始截取的下标,参数3:截取的字符长度
SUBSTRING('Welcome to China!',9,2)
--截取字符串最左边的7个字符串,从左向右
select LEFT('Welcome to China!',7) as 结果1
--截取字符串最右边6个字符串,从右向左
select RIGHT('Welcome to China!',6) as 结果2
--截取字符串,中间的空格也算一位(第二个从哪个字符下标开始)
select SUBSTRING('Welcome to China!',9,2) as 结果3

    这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_39380737/article/details/82702731
今日推荐