SQL server求百分比
select convert(decimal(18,0),(19.0/101.0)*100) as LT5--结果19
通过上面的语法可以将19/101的百分比算出
但是如果当小编这样写就得到的是0
select convert(decimal(18,0),(19/101)*100) as LT5--结果0
问题就出现在小数点后的一位,就是只能用19.0和101.0计算
那么如果小编要传一个没有小数点的后一位的话小编应该怎么做呢?
当然只有改变格式将19改为19.0
select convert(decimal(18,0),(cast(19 as Decimal(18,1)) /cast(101 as Decimal(18,1)) )*100) as LT5
--结果19
不从一下这个换算的过程便于理解
select cast(19 as Decimal(18,0)) --结果为19
select cast(19 as Decimal(18,1)) --结果为19.0
select cast(19 as Decimal(18,2)) --结果为19.00
select cast(19 as Decimal(18,3)) --结果为19.000
select cast(19 as Decimal(18,4)) --结果为19.0000
幸福是什么?
久旱逢甘雨,他乡遇故知,洞房花烛夜,金榜挂名时
有时候我觉得大概都是相对的,健康时比生病时幸福,钱少时比负债时幸福,满腹经纶比空有其表幸福