首页  >  问答  >  正文

以2位小数显示SQL中的计算结果

我编写了一个简单的查询来查找两列的百分比,但我希望结果在只有两位小数的列中。这是我写的,但我遇到了错误,而且我似乎无法修复它。

SELECT 
    Small_Bags,
    Total_Bags,
    (Small_Bags / Total_Bags) * 100 AS Small_Bags_Percent
    (Select CAST (Small_Bags_Percent AS DECIMAL (10,2)))
FROM Table_Bags
WHERE Total_Bags <>0

P粉055726146P粉055726146182 天前355

全部回复(1)我来回复

  • P粉653045807

    P粉6530458072024-04-03 12:46:35

    您不能在同一查询中使用列别名。你可以做到这一点。

    select Small_Bags
        , Total_Bags
        , (Small_Bags / Total_Bags) * 100 AS Small_Bags_Percent
        , cast(((Small_Bags / Total_Bags) * 100) as decimal(10,2))
    from Table_Bags
    where Total_Bags > 0

    或者使用子查询

    select t1.Small_Bags, t1.Total_Bags, t1.Small_Bags_Percent
        , cast(t1.Small_Bags_Percent as decimal(10,2))
    from 
        (select Small_Bags
            , Total_Bags
            , (Small_Bags / Total_Bags) * 100 AS Small_Bags_Percent
            , cast(((Small_Bags / Total_Bags) * 100) as decimal(10,2))
        from Table_Bags
        where Total_Bags > 0) t1

    回复
    0
  • 取消回复