壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1674|回复: 6

[OAF] 求助 oracle to_number 的一个问题

[复制链接]
发表于 2011/4/18 10:51:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
首先 搭建一个环境
一  创建2个测试用表   f  和  c
f 的表结构如下
item_id (number)   test (number)

c的表结构如下

value(number)   item_attr(varchar2)
1                           0.01
2                           0.010
3                            0.01000
4                              0.0110
5                                 10
6                                     20
7                                   30
8                                   20
9                                          20.0
10                                    30.0

现在我 执行下面的语句
select to_number(item_attr) from c where c.value in (1,2,3,4)

报错说  ora-01722  无效数字

但是
select to_number(item_attr) from c where c.value in (5,6,7,8,9,10)
这个却不报错 为什么呢?

 楼主| 发表于 2011/4/18 10:53:20 | 显示全部楼层
我是想 c 表的 item_attr 的值 更新到 f 表的 test 列去,因为 2 个 表的 列的数据类型不一样 所以要转number
 楼主| 发表于 2011/4/18 22:07:09 | 显示全部楼层
没人看看啊  不能沉下去啊
 楼主| 发表于 2011/4/18 22:07:20 | 显示全部楼层
我再顶
发表于 2011/4/19 15:53:15 | 显示全部楼层
SELECT to_number('0.01') FROM dual
SELECT to_number('0.010') FROM dual
SELECT to_number('0.01000') FROM dual
SELECT to_number('0.0110') FROM dual
均正常。
 楼主| 发表于 2011/4/19 16:32:19 | 显示全部楼层
哎  悲催的 我
发表于 2013/6/28 20:40:34 | 显示全部楼层
是不是有空格引起,
可以试一下这个:trim()去前后空格
select to_number(trim(item_attr)) from c where c.value in (1,2,3,4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 16:01 , Processed in 0.015085 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表