SQL中的cast()函数 & decimal(9,2)相互结合使用效果 & 如何加上"%" 返回数据

首先需求是将数据库中的数据进行处理后 以保留2位小数的形式且最大位数不得超过9位数的形式以百分号的展现形式展现到页面。
比如说:
(1)数据库存的数字是:25.56985 那么展现的形式应该就是:25.56%
(2)数据库存的数字是:167.2323 那么展现的形式应该是:167.23%

那么问题来了 改如何处理呢?
(1)CAST ()
语法:CAST (expression AS data_type)
expression:任何有效的SQServer表达式。
AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。
data_type:目标系统所提供的数据类型。

(2)decimal()
语法:decimal(a,b)。
a:指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38;通俗来讲就是左右两边相加总共最多可以展现的数字位数。
b:指定小数点右边可以存储的十进制数字的最大个数,小数位数必道须是从 0 到 a之间版的值,默认小数位数是 0。通俗讲就是小数点后面的数字展现的最大的位数。
注意:数字展现的最大的位数,不是保留的位数哟,如果没有那么多位数就展现当前的数字就行,不需要强行补位数。

比如说:
(1)有一个数字是123456789.12345
如果用decimal(10,1) 展现结果为:123456789.1
如果用decimal(11,2) 展现结果为:123456789.12
如果用decimal(10,2) 展现结果为:99999999.99 (因为损失精度了。要求总共左右两边只能最多有10位,前面已经有9位数字了,后面就只能再有一位数字,可是要求后面还得保留2位,所以就只能在规定的要求中损失精度保留最大值了)
(2)有一个数字是123
如果用decimal(3,2) 展现结果为123
如果用decimal(10,1) 展现结果为123
如果用decimal(9,2) 展现结果为123
如果用decimal(2,2) 展现结果为0.99

最后结合使用两则,后面加上“,’%’ ” 就可以达到需求效果啦。
例如:123.333这个数字想要展现成123.33%
就可以这样使用: cast(‘123.333’ as decimal(9,2)),’%’) 效果如下图:
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值