暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 无效号码

askTom 2018-03-13
198

问题描述

我有一个表,有两个VARCHAR2列。

创建表A
(char_col varchar2(200),
char_col2 varchar2(200),
num1号 (30));

插入到值 (“1,23,234”,“1,23,234”,“550”) 中;
插入到值 (“44,23,234”,“5,130”,“1280”) 中;

我想做的是-

从Aworks中选择to_number(char_col)-num1。

我想做的是-

从对偶中选择to_number(char_col2)-num1,它会失败,并显示错误-ORA-01722-无效的数字

为什么只有当两个列,char_col和char_col2都是varchar2时,才会发生这种情况?


专家解答

抱歉,我不能重复你的发现 -- 我的两个都失败了

SQL> create table A
  2  ( char_col varchar2(200),
  3  char_col2 varchar2(200),
  4  num1 number(30));

Table created.

SQL>
SQL> insert into A values ('1,23,234','1,23,234','550');

1 row created.

SQL> insert into A values ('44,23,234','5,130','1280');

1 row created.

SQL>
SQL> select to_number(char_col) - num1 from A;
select to_number(char_col) - num1 from A
       *
ERROR at line 1:
ORA-01722: invalid number


SQL> select to_number(char_col2) - num1 from A;
select to_number(char_col2) - num1 from A
       *
ERROR at line 1:
ORA-01722: invalid number
复制


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论