17,086
社区成员
发帖
与我相关
我的任务
分享
-- 给个例子给你,你可能就明白啦:
scott@TBWORA> create table tb(work_id varchar2(20));
表已创建。
scott@TBWORA> insert into tb(work_id) values('20');
已创建 1 行。
scott@TBWORA> insert into tb(work_id) values('30');
已创建 1 行。
scott@TBWORA> select * from tb where work_id=20;
WORK_ID
----------------------------------------
20
scott@TBWORA> insert into tb(work_id) values('T40');
已创建 1 行。
scott@TBWORA> select * from tb where work_id=20;
ERROR:
ORA-01722: 无效数字
未选定行
-- 最后一个查询语句:会先将 work_id 字段隐式转换为 number 类型,
-- 但是:当 work_id 字段的数据中,
-- 有不能转换为 number 类型的数据
-- (某个 work_id 字段的数据中函数字符串,导致隐式转换过程失败)时,查询出错!