在oracle中,可以使用to_number()函數(shù)來將數(shù)據(jù)轉為數(shù)字類型,該函數(shù)可以將字符串轉換為數(shù)值型的格式,語法“to_number(varchar2 or char,’格式’)”。
本教程操作環(huán)境:Windows7系統(tǒng)、Oracle 11g版、Dell G3電腦。
在oracle中,可以使用to_number()函數(shù)來將數(shù)據(jù)轉為數(shù)字類型。
to_number()函數(shù)是oracle中常用的類型轉換函數(shù)之一,是將一些處理過的按一定格式編排過的字符串變回數(shù)值型的格式。
1、to_number()函數(shù)可以將char或varchar2類型的string轉換為一個number類型的數(shù)值;
2、需要注意的是,被轉換的字符串必須符合數(shù)值類型格式,如果被轉換的字符串不符合數(shù)值型格式,Oracle將拋出錯誤提示;
3、to_number和to_char恰好是兩個相反的函數(shù);?
語法:
to_number(varchar2?or?char,'格式')
To_number函數(shù)中也有很多預定義的固定格式:
格式值 | 含義 |
---|---|
9 | 代表一個數(shù)字 |
0 | 強迫0顯示 |
$ | 顯示美元符號 |
L | 強制顯示一個當?shù)氐呢泿欧?/td> |
. | 顯示一個小數(shù)點 |
, | 顯示一個千位分隔符號 |
一些例子
select?to_number('000012134')?from?dual;?? select?to_number('88877')?from?dual;
SQL>?select?to_number(’RMB234234.4350′,’L999999.0000′)?from?dual; ????TO_NUMBER(’RMB234234.4350′,’L999999.0000′) ????—————————————— ????234234.435
SQL>?select?to_number(’$123,233,455,623.3400′,’$999,999,999,999.0000′)?from?dual; ????TO_NUMBER(’$123,233,455,623.3400′,’$999,999,999,999.0000′) ????———————————————————- ????1.2323E+11
如果數(shù)字在格式范圍內(nèi)的話,就是正確的,否則就是錯誤的;如:
select?to_number('$12345.678',?'$999999.99')?from?dual;?? select?to_number('$12345.678',?'$999999.999')?from?dual;
to_number()函數(shù)可以用來實現(xiàn)進制轉換;16進制轉換為10進制:
select?to_number('19f','xxx')?from?dual;?? select?to_number('f','xx')?from?dual;
推薦教程:《Oracle教程》
? 版權聲明
文章版權歸作者所有,未經(jīng)允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦