我正在使用Oracle Apex CMS。我需要以$ xxx,xx格式显示费用。
接口FML999G999G999G999G990D00
中有格式遮罩选项,但是即使应用了遮罩,我也看不到格式的费用。
字段以pl / sql express作为源,(nvl(:P18_COST_JOB_PROFIT,0)/100)*nvl(:P18_SUBTOTAL_LABEL_TOTAL,0)
答案 0 :(得分:3)
用于L
(货币)和D
(十进制分隔符)的字符由会话NLS_NUMERIC_CHARACTERS
和NLS_CURRENCY
设置确定,默认情况下由应用程序主要语言(请参阅应用程序属性-> 全球化)。
要覆盖应用程序主要语言提供的默认设置,可以在会话初始化PL / SQL设置中设置会话参数(应用程序属性-> 安全性-> 初始化PL / SQL代码):
dbms_session.set_nls('nls_numeric_characters', q'[', ']');
dbms_session.set_nls('nls_currency', q'['$']');
在上面的示例中,十进制分隔符是逗号(,
),组分隔符是空格(),货币符号是
$
。
您可能需要直接在 PL / SQL表达式中指定格式掩码,例如
to_char(
nvl(:P18_COST_JOB_PROFIT,0)/100*nvl(:P18_SUBTOTAL_LABEL_TOTAL,0)
,'FML999G999G999G999G990D00'
,q'[nls_numeric_characters=', ' nls_currency='$']')