用sql编写的函数实现:金额千分符处理,且保留两位小数。例子:假设写好的函数为:money_mode();money_mode(15600.90)返回结果:15,600.90money_mode(156000000.00)返回结果:156,000,000.00

解决方案 »

  1.   

    不好意思漏点内容,应返回如下结果:money_mode(15600.90)返回结果:¥15,600.90 money_mode(156000000.00)返回结果:¥156,000,000.00
      

  2.   

    Oracle直接有函数,何必要自己写呢?
    Oracle可以使用To_char进行千分和截取。select to_char(156000000.00,'fm999,999,999,999,990.00') from dual;就可以了,你试试吧。
    也许你能用。
      

  3.   

    SQL> select TO_CHAR('1234','FML9,990.00') from dual;TO_CHAR('1234','FML9,990.00')
    -----------------------------
    ¥1,234.00
      

  4.   

    select TO_CHAR('1234','FML9,990.00') from dual;--------------
    我得到的结果怎么是:
    RMB1,234.00
      

  5.   

    Oracle安装的时候,字符集引起的。
    环境差异。
      

  6.   

    select to_char(156000000.00,'¥'||'fm999,999,999,999,990.00') from dual; 
    这样在什么环境上都一样。
      

  7.   

    to_char(156000000.00,'¥' ¦ ¦'fm999,999,999,999,990.00')
      

  8.   

    select to_char(156000000.00,'¥'||'fm999,999,999,999,990.00') from dualora-01481 无效的数字格式模型
      

  9.   

    现在我这样使用:
    '¥'||to_char(b.pay_money,'fm999,999,999,999,990.00')