更改货币符号Oracle Apex数字格式

时间:2012-06-21 05:30:33

标签: oracle oracle11g oracle-apex currency-formatting

当我在Oracle Apex中使用FML999G999G999G999G990D00作为我的数字格式掩码时,它将值显示为$800.00。我需要将$替换为另一个货币符号。

我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您需要修改会话参数NLS_CURRENCY以更改货币:

SQL> ALTER SESSION SET NLS_CURRENCY='EUR';

Session altered.

SQL> SELECT to_char(800, 'FML999G999G999G999G990D00') FROM dual;

TO_CHAR(800,'FML999G999G999G999G9
---------------------------------
EUR800,00

DBMS_SESSION

SQL> BEGIN dbms_session.set_nls('NLS_CURRENCY', 'GBP'); END;
  2  /

PL/SQL procedure successfully completed.

SQL> SELECT to_char(800, 'FML999G999G999G999G990D00') FROM dual;

TO_CHAR(800,'FML999G999G999G999G9
---------------------------------
GBP800,00

您还可以使用TO_CHAR直接指定货币:

SQL> SELECT to_char(800, 'FML999G990D00', 'NLS_CURRENCY=''£''') FROM dual;

TO_CHAR(800,'FML999G9
---------------------
£800,00