本文整理自网络,侵删。
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;
相关阅读 >>
更多相关阅读请进入《oracle》频道 >>
数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。