【问题标题】:Teradata formatting amounts of moneyTeradata 格式化金额
【发布时间】:2016-12-13 07:26:27
【问题描述】:

我的格式有问题,我将货币余额数据导出到 Excel,但格式错误。

SELECT COALESCE(TRIM(CAST(ZEROIFNULL(balance) AS DECIMAL(15,2) FORMAT '--Z(15)D9(2)')), 0);    

我想更改逗号上的字符点,当余额等于 0 时显示 0,00 因为现在我有一个 .00

是否可以不更改 VARCHAR ?

提前感谢您的帮助

【问题讨论】:

    标签: sql oracle teradata


    【解决方案1】:

    切换到TO_CHAR而不是FORMAT会更容易:

    to_char(coalesce(balance,0),'999999999999990,99', 'NLS_NUMERIC_CHARACTERS = ''.,''')
    

    【讨论】:

    • 超级。这就是我的意思。可以在 Oracle SQL 中为整个会话设置:ALTER SESSION SET NLS_NUMERIC_CHARACTERS=",." 如何在 TERADATA 中进行设置:.SET ??
    • @MartinusP:不,Teradata 中不存在 NLS 参数。
    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 2017-01-13
    • 1970-01-01
    相关资源
    最近更新 更多