关于Oracle to_number 函数无效字符问题,难道是我数据库本身问题吗?

关于Oracle to_number 函数无效字符问题,难道是我数据库本身问题吗?


猛跑小猪
浏览 1863回答 4
4回答

千巷猫影

To_number(varchar2 or char,’format model’)。第一个是要转换的字符串,后面的是下面的几种9 代表一个数字0 强迫0显示$ 显示美元符号L 强制显示一个当地的货币符号. 显示一个小数点, 显示一个千位分隔符号

眼眸繁星

1. 将表中的某个字段从物理存储上的字符型转换为物理存储上的数字型,没有快捷的直接的方法,只能重建字段或表2. 可以在表上建立视图, 这是在大系统中很常用的方法3. 一般直接查询时可以 select to_number(varchr_field) form tab 得到结果4. 注意: 尝试将英文字符用to_number转换为数字都会提示出错.

PIPIONE

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

函数式编程

这个肯定不能直接这样转换,可以使用如下的处理方式to_number(REPLACE('10.20.30.40','.',''),'99999999')其中REPLACE('10.20.30.40','.','')的作用是将10.20.30.40中的.去掉。比如:SELECT to_number(REPLACE('10.20.30.40','.',''),'99999999') FROM DUAL输出结果为:10203040
打开App,查看更多内容
随时随地看视频慕课网APP