2010-06-11 182 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.