【问题标题】:Trying to round the results of a sql query to 2 decimals尝试将 sql 查询的结果四舍五入到小数点后两位
【发布时间】:2018-09-08 16:49:19
【问题描述】:

在以下查询中,我尝试返回 SUM 行的小数点后 2 位 (.00) 的数据:

SELECT
  CONVERT(varchar, YEAR(COALESCE(release_date, requested_date)))
  + RIGHT('00' + CONVERT(varchar, MONTH(COALESCE(release_date, requested_date))), 2) AS yrmnth,
  salesrep,
  customer_name,
  SUM(price_per_ea * COALESCE(open_release_qty, open_order_qty)) AS ext_price

【问题讨论】:

    标签: sql sql-server reporting-services ssrs-2016


    【解决方案1】:

    你可以使用 convert 来控制格式

    SELECT
    CONVERT(VARCHAR, YEAR(COALESCE(release_date, requested_date))) 
        + RIGHT('00' + CONVERT(VARCHAR, 
     MONTH(COALESCE(release_date, requested_date))),2) as yrmnth
    ,salesrep
    ,customer_name
    ,  Convert(decimal(12,2), 
         SUM(price_per_ea * COALESCE(open_release_qty, open_order_qty)))  as ext_price 
    

    【讨论】:

      【解决方案2】:

      在您的选择中使用round 函数:

      round(SUM(price_per_ea * COALESCE(open_release_qty, open_order_qty)),2)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-09
        • 2016-11-11
        • 1970-01-01
        • 2022-01-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多