2012-11-28 26 views
0

我使用birt進行同樣的報告,但是我要切換小數位標記和千位標記。 例如,我需要以這種形式'1,234.56'查看這個數字'1.234,56'。 我搜索的方式,使用BIRT的數字格式的事,因爲我如果我使用例如的Oracle SQL istruction在birt中更改小數點和千位標記

to_char(number, '999,990.99')  

,因爲我不想以確定號碼長度失去了數精度我的所有報告編號。

對不起,我可憐的英語,但我需要幫助。

回答

1

NLS_NUMERIC_CHARACTERS指定用作組和小數點分隔符的字符。您可以更改會話的NLS_NUMERIC_CHARACTERS設置(使用alter session)或操作。在這種情況下,您可以將NLS設置指定爲to_char函數的第三個參數。

  • ,爲十進制分離器; .作爲組分隔

    SQL> select to_char(123456.12, 'fm999G990D99', 'NLS_NUMERIC_CHARACTERS=,.') res 
        2 from dual 
        3 ; 
    
        RES 
        ----------- 
        123.456,12 
    
  • .爲十進制分離器; ,作爲組分隔

    SQL> select to_char(123456.12, 'fm999G990D99', 'NLS_NUMERIC_CHARACTERS=.,') res 
        2 from dual 
        3 ; 
    
    RES 
    ----------- 
    123,456.12 
    
+0

感謝尼古拉,但我不希望重現查詢...我想改變數據的視圖只在BIRT因爲incosistent數據的可能性,如果我與其他語言環境設置一起使用此數據。 – AfanfeFana

+0

@AfanfeFana'to_char'函數中使用的'NLS'設置僅影響傳入的值,僅此而已。 –

+0

好吧,但我不知道什麼abuot數字的長度..我不能假設沒有關於,例如多少9必須放在字符串格式化..在上次分析我需要把我的報告號碼而不是String .. 謝謝幫忙.. – AfanfeFana

相關問題