Oracle中to_number函数格式参数问题

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

2024-05-19 13:21:02

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正好把格式倒过来了。当然会出错了。
短发过夏

2024-05-19 22:02:25

因为"9"代表任意一个数字(可以是0—9中任意一个数字),而"0 "只是表示在返回结果的前面或后面补0来达到格式中指定的长度。