2010-06-11 229 views
2

如何用逗號替換句號和逗號,例如逗號1,50,000.25到1.50.000,25在Oracleoracle用逗號替換逗號(句號和句點)

+0

你的意思是修改數據嗎?或者如何將數字數據格式化爲在語言環境中顯示?對於後者,讓應用程序的UI層處理它通常會更好。 – ThatBlairGuy 2010-06-11 20:02:25

回答

2

使用replace

你可能想要做tihs在3次完成

例如交換所有 '' 成一個獨特的 '安全' 字符(如〜)

然後

掉所有的 ''進 ''

終於

掉所有 '〜' 到 ''

+0

順便說一句 - 我同意如果它是貨幣,區域設置應該爲你做重新格式化。 - 以上是一種廣義的方法。 – Randy 2010-06-11 20:06:43

+0

是的,我得到了答案 – Atul 2010-06-11 20:10:54

4

對於數字,這些字符 - 組分隔符和小數點分隔符 - 由NLS(全球化)參數控制。缺省值由N​​LS_TERRITORY定義,但我們可以覆蓋通過NLS_NUMERIC_CHARACTERS參數指與特定的字符:

SQL> var n number 
SQL> exec :n := 1000000.123 

PL/SQL procedure successfully completed. 

SQL> select :n from dual 
    2/

     :N 
----------- 
1000000.123 

SQL> select to_char(:n, '9G999G999D999') from dual 
    2/

TO_CHAR(:N,'9G 
-------------- 
1,000,000.123 

SQL> alter session set nls_numeric_characters = ",." 
    2/

Session altered. 

SQL> select to_char(:n, '9G999G999D999') from dual 
    2/

TO_CHAR(:N,'9G 
-------------- 
1.000.000,123 

SQL> 

全球化的東西是在文檔中廣泛報道。 Find out more.