to_char()函數的字符串轉換格式歸納如下:
to_char(var[,format]) 函數轉換格式說明:
1. [format] '999' N 為轉換格式數字9的個數。
若數字var位數小於或等於轉換格式數字9的個數,則轉換后的字符串前面補空字符,湊足轉換格式的位數+1 個位數;若數字var位數大於轉換格式數字9的個數,則無法正確轉換,轉后的顯示是N+1個 # 號
對於小數,只轉換整數部分。
2.[format] '099' N為轉換格式數字9和0的個數
若數字var位數小於或等於轉換格式數字9+0的個數,則轉換后的字符串前面一個空字符和(N-var位數-1)個0,若數字var位數大於轉換格式數字9+0的個數,則無法正確轉換,轉后的顯示是N+1個 # 號
對於小數,只轉換整數部分。
3.[format] '990'
轉換規則同(1)
對於小數,只轉換整數部分。
4.[format] '999.99' N1 為整數部分格式數字9的個數,N2為小數部分個數數字的個數
數字var的整數部分轉換規則同(1);小數部分若數字var位數小於N2,則小數部分補0,湊足N2的個數;若小數部分位數大於N2,則按照四舍五入截取N2個位數
5.[format] '990.999'
轉換規則與(4)大致相同,區別在於(5)對於整數部分為0的小數處理更完善
若:to_char(0.75,'999.99') = .75
to_char(0.75,'990.99') = 0.75
6.[format] 'FM999'
轉換規則與(1)相同,但這個格式可以將轉換后字符串前面的空格刪除,可以說處理更完善
7.[format] 'FM990.999'
格式(5)和格式(6)的組合,小數部分不會自動添加0,因為‘FM’會把小數末尾的0當做空字符處理,刪除掉
8.[format] 'FM990.990'
轉換規則與(7)大致相同,不同之處在於,(8)格式中會在var小數部分位數小於轉換格式小數部分時,在后面加0
[format] '990.900' 與[format] '990.990' 相同
9.[format] 'FM990.099' 或者 'FM990.999' 2個格式相同
對小數數字處理最完善的格式,可以將數字原樣轉換成字符串,當然整數部分位數不能小於數字var的整數部分位數
10.[format] to_char(var)
對整數數字處理最完善的格式,當然也可以用to_char(var,'FM99999999'),但是此方法有點多此一舉,並且轉換格式中9的個數要保證大於var的位數才能成功轉換,否則轉換不能成功