【问题标题】:plsql custom numeric formatplsql自定义数字格式
【发布时间】:2010-10-18 04:17:28
【问题描述】:

我尝试将数值格式化为“9 999,99”格式(注意空格)。

问题是 oracle 没有为我提供用于获取此格式的数字掩码。

我得到的最接近的是 to_char(value,'99990,99'),但是没有办法把那个空格放在第三个数字之后。

我想得到的一些例子 1345.67 -> 1 345,67 12356.00 -> 12 356,00 0.56 -> 0,56

我怎么能这样做,也许使用正则表达式?有什么想法吗?

【问题讨论】:

    标签: sql oracle plsql


    【解决方案1】:
    SQL> alter session set nls_numeric_characters = ', '
      2  ;
    
    Session altered.
    
    SQL> select to_char(999999/100, '9G999D99')
      2    from dual;
    
    TO_CHAR(9
    ---------
     9 999,99
    

    您还可以在 TO_CHAR 语句中指定 NLS_NUMERIC_CHARACTERS 设置,而不是在会话级别进行设置

      1  select to_char(999999/100, '9G999D99', 'nls_numeric_characters='', '' ')
      2*   from dual
    SQL> /
    
    TO_CHAR(9
    ---------
     9 999,99
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-06
      • 2012-12-12
      • 2015-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      相关资源
      最近更新 更多