Oracle 格式化數字

2021-09-29 23:58:44 字數 2145 閱讀 9934

-- start

所謂格式化數字指的是將數字轉為字串,或將字串轉為數字,下面幾個函式可以用來格式化數字。

to_char(number, 'format')

to_number('character', 'format')

to_binary_float('character', 'format')

to_binary_double('character', 'format')

我們先來看看通過下面的 sql 產生的結果吧。

select to_char(number, 'format') from dual;

number

format

result

-1234567890

9999999999s

'1234567890-'

099.99

' .00'

+0.1

99.99

' .10'

-0.2

99.99

' -.20'

090.99

' 0.00'

+0.1

90.99

' 0.10'

-0.2

90.99

' -0.20'

09999

' 0'

19999

' 1'

0b9999

' '1

b9999

' 1'

0b90.99

' '+123.456

999.999

' 123.456'

-123.456

999.999

'-123.456'

+123.456

fm999.009

'123.456'

+123.456

9.9eeee

' 1.2e+02'

+1e+123

9.9eeee

' 1.0e+123'

+123.456

fm9.9eeee

'1.2e+02'

+123.45

fm999.009

'123.45'

+123.0

fm999.009

'123.00'

+123.45

l999.99

' $123.45'

+123.45

fml999.99

'$123.45'

+1234567890

9999999999s

'1234567890+'

那麼 oracle 支援哪些格式呢?看看下面的**吧

format

description

9代表一位任意數字

.小數點

d本地化小數點(nls_numeric_character)

,千分位

g本地化千分位(nls_numeric_character)

s在前部或尾部新增正負號

0在前部或尾部新增 0

$在前部新增美元符號

l新增本地化貨幣符號(nls_currency)

u新增dual貨幣符號(nls_dual_currency)

c新增iso貨幣符號(nls_iso_currency)

b新增空格如果整數部分為0

x將10 進製轉成16進製制

v將要格式化的值乘以10n

eeee

科學計數法

mi對於正數,在尾部新增空格

對於負數,在尾部新增負號

pr對於正數,用空格包圍

對於負數,用<>包圍

rn返回大寫羅馬數字

rn返回小寫羅馬數字

tm超過64位,返回科學計數法

除此之外,需要特別注意,格式化會引起四捨五入,如果數字過大,數字會被格式化成類似 ##### 這樣的形式。

--更多參見:oracle sql 精萃

-- last edited on 2015-06-12

-- created by shangbo on 2015-06-12

-- end

ORACLE格式化數字的方法

to char,函式功能,就是將數值型或者日期型轉化為字元型。比如最簡單的應用 1.0123 1.0123 select to char 1.0123 from dual 123 123 select to char 123 from dual 接下來再看看下面 0.123 123 selec to...

格式化數字

格式化數字 下表是可在format函式中用於格式化數字的字元。字元 說明0 數字佔位符。顯示乙個數字或0。如果表示式在格式字串中出現0的位置上有數字,則顯示該數字 否則在該位置顯示0。如果數字的位數少於格式表示式中 0 的個數 小數點任一側 則顯示前導零或尾隨零。如果數字的小數點分隔符右側的位數多於...

數字格式化

double pi 3.1415927 圓周率 取一位整數 system.out.println new decimalformat 0 format pi 3 取一位整數和兩位小數 system.out.println new decimalformat 0.00 format pi 取兩位整數和...