转自:https://blog.csdn.net/tiantangdizhibuxiang/article/details/81034893

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;

 

————————————————
版权声明:本文为CSDN博主「天堂地址不详Y」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tiantangdizhibuxiang/article/details/81034893

posted on 2019-10-11 10:41  Sharpest  阅读(1366)  评论(0编辑  收藏  举报