2012-06-21 46 views
0

當我使用FML999G999G999G999G990D00作爲Oracle Apex中的數字格式掩碼時,它顯示值爲$800.00。我需要將$替換爲另一個貨幣符號。更改貨幣登錄Oracle Apex數字格式

我該怎麼做?

+0

也許這可以幫助https://forums.oracle.com/fo rums/thread.jspa?threadID = 990848 –

回答

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 

您還可以與​​直接指定幣種:

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

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

重新啓動服務器後,需要重新設置嗎? –

+0

@ Mr.Pichler:「ALTER SESSION」命令是特定於會話的,這意味着當您結束與數據庫的連接時,其效果將結束。這是一種客戶端設置,因此對於大多數應用程序,有一種方法可以使此更改更加永久(例如:SQL * Plus的Windows註冊表) –