本文主要是介绍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 NUMBERselect to_number('00001228') from dual;--to_number('00001228') 1228select 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 numbertrunc(to_number('0123.123'),2) number2,to_number('120.11','999.99') number3,to_number('0a','xx') number4, --converts a hex number to decimalto_number(100000,'xxxxxx') number5
from dual;
这篇关于orcale的to_number方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!