Oracle的數字格式可以使用「TO_CHAR」或是「TO_DATE」來顯示。
Oracle常用的數字格式如下:
格式 | 描述 | 範例 |
. | 顯示小數點 | select to_char(123.68,'99999.9') from dual; --> 123.7 |
, | 顯示分隔符號「,」,如使用「,」做為分隔符號,則小數點必須用「.」 | select to_char(123123.68,'999,999.99') from dual; --> 123,123.68 |
D | 顯示預設的小數點符號【預設為「.」】 | select to_char(123.68,'99999D99') from dual; --> 123.68 |
G | 顯示預設的分隔符號【預設為「,」】,如使用「G」做為分隔符號,則小數點必須用「D」 | select to_char(123123.68,'999G999D99') from dual; --> 123,123.68 |
9 | 數字格式完全以設定的格式來顯示,多餘的部份以「空白」顯示 | select to_char(123.68, '9999999.99') from dual; --> 123.68 |
0 | 數字格式完全以設定的格式來顯示,多餘的部份以「0」顯示 | select to_char(123.68, '0999999.99') from dual; --> 0000123.68 |
FM | 以所設定的格式來顯示,多餘的部直接隱藏 | select to_char(123.68, 'FM9999999.99') from dual; -->123.68 |
$ | 於顯示的數值前端加上「$」 | select to_char(123.68, '$999.99') from dual; --> $123.68 |
B | 如數值為0時,不予以顯示,只顯示大於1的數值,其餘依原設設格式 | select to_char(0.58, 'B99999') from dual; --> 1 select to_char(0.25, 'B99999') from dual; --> |
S | 顯示數值的「+」、「-」符號,可放置於數值前或後 | select to_char(123.68, 'S99999.99') from dual; --> +123.68 select to_char(-123.68, 'S99999.99') from dual; --> -123.68 select to_char(123.68, '99999.99S') from dual; --> 123.68+ |
PR | 如數值為正值,則前後加上空白;如數值為負值,則在該數值前後加上「<>」,該格式需放置於格式後面 | select to_char(-123.68, '99999.99PR') from dual; --> <123.68> select to_char(123.68, '99999.99PR') from dual; --> 123.68 |
MI | 如數值為正值,則於尾端加上空白,如數值為負值,則於尾端加上「-」號,該格式需放置於格式後面 | select to_char(123.68, '99999.99MI') from dual; --> 123.68 select to_char(-123.68, '99999.99MI') from dual; --> 123.68- |
RN或rn | 顯示羅馬數字,「RN」顯示大寫羅馬數字,「rn」顯示小寫羅馬數字 | select to_char(1, 'RN') from dual; --> I select to_char(123.68, 'RN') from dual; --> CXXIV select to_char(123.68, 'rn') from dual; --> cxxiv |
C | 返回ISO預設的指定標識符號 | select to_char(123.68,'C999999.99') from dual; --> TWD123.68 |
U、L | 顯示該國預設的金錢符號,U與L類似,皆可放置於格式前或後 | select to_char(123.68,'L999999.99') from dual; --> NT$123.68 select to_char(123.68,'U999999.99') from dual; --> NT$123.68 select to_char(123.68,'999999.99L') from dual; --> 123.68NT$ |
EEEE | 顯示科學標記數字符號 | select to_char(123.68,'9EEEE') from dual; --> 1E+02 |
TM或TME | 標準數值與科學數值轉換,「TME」:將標準數值轉換成科學數值 「TM」:將科學數值轉換成標準數值 該格式不可與其他數值格式同時使用 | select to_char(123.68,'TME') from dual; -->1.2368E+02 select to_char(1.2368E+02,'TM') from dual; -->123.68 |
V | 數值乘上(10的N次方) | select to_char(123.68,'999999V999') from dual; --> 123680 select to_char(123.68,'999999V000') from dual; --> 123680 |
X | 顯示16進位數值,只顯示正數數值,如數值非整數,則會自動四捨五入 | select to_char(123,'XXX') from dual; --> 7B |
留言
張貼留言