orcale的to_number方法

TO_NUMBER函数()是Oracle中常用的类型转换函数之一,主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反。

To_number函数的格式如下:

To_number(varchar2 or char,’format model’)

To_number函数中也有很多预定义的固定格式:

格式值 含义
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()函数的学习

1、
    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.12


2、
    Converts a HEX number to FLOAT(转换一个十六进制数的浮标)
    TO_NUMBER(<value>, <format>);
    SELECT TO_NUMBER('0A', 'XX')
    FROM dual;

结果为:10


3、
    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;

结果为:1048576


4、
--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;



猜你喜欢

转载自blog.csdn.net/tiantangdizhibuxiang/article/details/81034893