【发布时间】:2016-10-12 20:28:57
【问题描述】:
以下是我的查询。在一个 Oracle DB (11.2.3.0) 中,这给了我错误,但在其他相同的 Oracle DB 中,下面的查询工作正常。无法理解这种不同的行为。
一个数据库的输出
SQL> select id from cag where greeting_id=1111100001 for update;
ERROR at line 1:
ORA-01722: invalid number
其他数据库的输出
SQL> select id from cag where greeting_id=1111100001 for update;
ID - 9111100001
有没有DB内部设置?
【问题讨论】:
-
greeting_id列的数据类型是什么?看起来您将 ID 存储为字符串,并且某些值不代表数字。如果它们应该始终是数字,请将它们存储为数字。始终使用正确的数据类型。 -
这是数据类型:GREETING_ID NOT NULL VARCHAR2(50)
-
在一个数据库中查询工作正常,但在其他数据库中,相同的查询给了我错误。
标签: sql oracle oracle11g type-conversion