Law*_*Law 4 sql oracle currency to-char
我在to_char()这里面临货币格式问题.  
以下代码对我有用:
SELECT TO_CHAR(10000,'L99G999D99MI',
               'NLS_NUMERIC_CHARACTERS = ''.,''
               NLS_CURRENCY = ''$''') "Amount"
  FROM DUAL; 
Run Code Online (Sandbox Code Playgroud)
这将为我提供输出:$10,000.00.
现在,我希望将货币转换为法国货币,即期望产出10 000,00或具有产出的瑞士货币10'000.00.因此,对于上述两种情况,我修改了如下所示的代码:
SELECT TO_CHAR(10000,'L99G999D99MI',
               'NLS_NUMERIC_CHARACTERS = ''"", ""''
               NLS_CURRENCY = ''$'' ') "Amount"
  FROM DUAL;
SELECT TO_CHAR(10000,'L99G999D99MI',
               'NLS_NUMERIC_CHARACTERS = ''". "''
               NLS_CURRENCY = ''$'' ') "Amount"
  FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
但是此代码不起作用并显示错误ORA-12702.代码有问题吗?
小智 6
如果要在查询中执行此操作:
SELECT TO_CHAR(10000,'L99G999D99MI',
           'NLS_NUMERIC_CHARACTERS = ''.''''''
           NLS_CURRENCY = ''$'' ') "Amount"
           FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
给出$10'000.00(因为这个字符串正在进行预处理,所以在字符周围有成对的引号(变成单个),然后在字符串中得到单引号,你需要四个引号成为一个!)
SELECT TO_CHAR(10000,'L99G999D99MI',
           'NLS_NUMERIC_CHARACTERS = '', ''
           NLS_CURRENCY = ''$'' ') "Amount"
           FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
给 $10 000,00
小智 5
这也可以使用,因为法国国家已经知道十进制表示法
SELECT TO_CHAR(1000000000,'999,999,999,999.99') "Amount"  FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           28985 次  |  
        
|   最近记录:  |