【问题标题】:Format the total value to a currency with 2 decimal places将总值格式化为带 2 位小数的货币
【发布时间】:2017-08-15 13:59:49
【问题描述】:

一个相当简单的问题。我必须编写一个查询来查找产品库存的总值。将此金额显示为具有 2 位小数的货币。

我知道如何很容易地获得总值,并且我知道 TO_CHAR 的使用,但是当我尝试它时,我得到一个 FROM 错误。

SELECT SUM(PROD_QOH * PROD_PRICE) AS TotalValue 
FROM BOFF.LGPRODUCT;

结果是 360307.79。

我希望它显示 $360,307.79

FORMAT 将是无效的标识符。必须使用 TO_CHAR

【问题讨论】:

    标签: database oracle sqlplus


    【解决方案1】:

    我认为您需要将其格式化为“货币”,您可以使用:

    SELECT FORMAT(SUM(PROD_QOH * PROD_PRICE), 'C', 'en-us')
    

    欲了解更多信息:https://msdn.microsoft.com/en-us/library/hh213505.aspx

    【讨论】:

    • 我没有注意到 Oracle 标签。我回答了 MS SQL Server 并提供了 MSDN 的参考。
    【解决方案2】:

    没关系,我自己搞定的。

    SELECT TO_CHAR(SUM(PROD_QOH * PROD_PRICE), '$999,999.99') AS TotalValue
    FROM BOFF.LGPRODUCT;
    

    【讨论】:

    • 您最好使用'$999,990.00' 格式掩码,以确保如果您有一个整数,您仍然会显示小数点,或者如果您有小于一美元的小数点点前面有一个 0。
    猜你喜欢
    • 2020-10-25
    • 2014-02-23
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 2014-07-24
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多