Oracle中to_number函数格式参数问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle中to_number函数格式参数问题相关的知识,希望对你有一定的参考价值。

“select to_number(0.25,'9.00') a from dual;结果是0.25,如果格式改成0.99,则报错。”这个结果怎么算出来的?为什么0.99就会报错呢?不用怀疑结果,我已经在实际环境中运行过了,结果的确是这样的。

to_number的正确格式是:To_number(char,’format’)。
其中 char代表一个数值字符串,format代表char的格式。
语句 select to_number(0.25,'9.00') a from dual;中的0.25正确写法是'0.25',带有单引号。

后边的格式'9.00'代表0.25的数值格式。9代表整数位数,0代表小数位数。
如果写成0.99正好把格式倒过来了。当然会出错了。
参考技术A 因为"9"代表任意一个数字(可以是0—9中任意一个数字),而"0 "只是表示在返回结果的前面或后面补0来达到格式中指定的长度。

以上是关于Oracle中to_number函数格式参数问题的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 11.2 to_number 多个逗号

oracle 取平均值

Oracle怎样把varchar2型转成number型

oracle sql字符串转数字问题

sql Oracle TO_NUMBER函数

Oracle中使用to_number()函数,里面有文字怎么解决