首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >计算行中小数四舍五入为2位的值的百分比

计算行中小数四舍五入为2位的值的百分比
EN

Stack Overflow用户
提问于 2018-07-10 00:03:25
回答 1查看 24关注 0票数 0

我有一个查询,它给出了列中空值的百分比:

代码语言:javascript
代码运行次数:0
运行
复制
SELECT
  Count(*)
FROM
  XYZ_Referrals
WHERE
  referral_source IS NULL
) * 100.0 / (
  Select
    Count(*)
  From
    XYZ_Referrals
) as 'referral source fields that are populated'

但是,我只需要将值舍入和截断到小数点后两位。以下查询取整,但不截断:

代码语言:javascript
代码运行次数:0
运行
复制
SELECT
  Round
    (
        (
            (
                SELECT
                    Count(*)
                FROM
                    XYZ_Referrals
                WHERE
                    referral_source IS NULL
            )
        * 100.0 / Count(*)
        ),2,2
    )
    as 'referral source fields that are populated'
FROM
  XYZ_Referrals

返回值为5.600000000000

我尝试过强制转换,但没有成功。

代码语言:javascript
代码运行次数:0
运行
复制
SELECT
    (
        Cast
            (
                Round
                    (
                        (
                            (
                                SELECT
                                    Count(*)
                                FROM
                                    XYZ_Referrals
                                WHERE
                                    referral_source IS NULL
                            )
                            * 100.0 / Count(*)
                        )
                    ),2
                AS DECIMAL(3,2)
            )
    )
    as 'referral source fields that are populated'
FROM
  XYZ_Referrals

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2018-07-10 00:06:34

您使用了正确的行,但DECIMAL中的精度不正确:

代码语言:javascript
代码运行次数:0
运行
复制
SELECT CAST(5.600000000000 AS DECIMAL(10, 2))

这会将数字转换为具有2位小数位的10位精度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51249721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档