为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

猛跑小猪 2019-05-27 18:06:46
关于Oracle to_number 函数无效字符问题,难道是我数据库本身问题吗?
查看完整描述

4 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-06-01
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

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

查看完整回答
反对 回复 2019-06-01
?
PIPIONE

TA贡献1829条经验 获得超9个赞

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代表小数位数。


查看完整回答
反对 回复 2019-06-01
?
函数式编程

TA贡献1807条经验 获得超9个赞

这个肯定不能直接这样转换,可以使用如下的处理方式
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

查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 1946 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信