orcale的to_number方法

轉自:https://blog.csdn.net/tiantangdizhibuxiang/article/details/81034893函數

TO_NUMBER函數()是Oracle中經常使用的類型轉換函數之一,主要是將字符串轉換爲數值型的格式,與TO_CHAR()函數的做用正好相反。
To_number函數的格式以下:學習

To_number(varchar2 or char,’format model’)
To_number函數中也有不少預約義的固定格式:.net

格式值 含義
9 表明一個數字
0 強迫0顯示
$ 顯示美圓符號
L 強制顯示一個當地的貨幣符號
. 顯示一個小數點
, 顯示一個千位分隔符號
TO_NUMBER用法 將一個字符串轉成數值
格式:TO_NUMBER(string,format) 即 TO_NUMBER(字符串,格式)
在「轉換函數:TO_CHAR()用法之一 將一個數值轉化成字符串 」一文中 TO_CHAR 函數所用格式,都適合本函數。
例:TO_NUMBER('123.45') 結果 123.45
TO_NUMBER('$123,456.78','$999,999.99') 結果 123,456.78
Oracle中to_number()函數的學習
一、
Converts a string to the NUMBER data type(將字符串轉換爲數字數據類型)
TO_NUMBER(<value>[, <format>, <NLS parameter>]) RETURN NUMBER
select to_number('00001228') from dual;--to_number('00001228') 1228
select trunc(to_number('123.123'),2) from dual;
結果爲:123.12orm

 

二、
Converts a HEX number to FLOAT(轉換一個十六進制數的浮標)
TO_NUMBER(<value>, <format>);
SELECT TO_NUMBER('0A', 'XX')
FROM dual;
結果爲:10blog

 

三、
Converts a HEX number to DECIMAL(一個十六進制數轉換爲十進制)
TO_NUMBER(<binary_float | binary_double | number>,
'<hex mask>') RETURN <binary_float | binary_double | number>;
SELECT TO_NUMBER(100000,'XXXXXXXX')
FROM dual;
結果爲:1048576ci

 

四、
--to_number(expr)
--to_number(expr,format)
--to_number(expr,format,'nls-param')

select to_number('0123')number1, --converts a string to number
trunc(to_number('0123.123'),2) number2,
to_number('120.11','999.99') number3,
    to_number('0a','xx') number4, --converts a hex number to decimal
to_number(100000,'xxxxxx') number5
from dual;字符串

 

————————————————
版權聲明:本文爲CSDN博主「天堂地址不詳Y」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。
原文連接:https://blog.csdn.net/tiantangdizhibuxiang/article/details/81034893get

相關文章
相關標籤/搜索