SQL ORACLE选择通配符无效数字

SQL ORACLE选择通配符无效数字,sql,oracle,Sql,Oracle,我在Oracle SQL中遇到了一个奇怪的错误。即使字段/列不是数字,它也会提示我一个显示“无效数字”的错误 你们都知道发生了什么事吗 下面是SQL语句 Select * from Products where Prod_nm like '%A%'; 我在其他表上使用了相同的SQL语句,没有出现错误 提前谢谢 尽可能: 当试图将字符串转换为数字时,出现ORA-01722(“无效数字”)错误,并且该字符串无法转换为有效数字。。。在进行选择时检查是否有数字列与字符列进行比较 结论是您的表列Prod

我在Oracle SQL中遇到了一个奇怪的错误。即使字段/列不是数字,它也会提示我一个显示“无效数字”的错误

你们都知道发生了什么事吗

下面是SQL语句

Select * from Products where Prod_nm like '%A%';

我在其他表上使用了相同的SQL语句,没有出现错误

提前谢谢

尽可能:

当试图将字符串转换为数字时,出现ORA-01722(“无效数字”)错误,并且该字符串无法转换为有效数字。。。在进行选择时检查是否有数字列与字符列进行比较

结论是您的表列
Prod\u nm
必须是数字列,否则将永远不会出现此错误消息。仔细检查数据库结构


编辑

正如您在评论中提到的,您正在使用的查询:

Select * from Products 
Inner join Review 
ON Products.prod_id = Review.prod_id 
where Products.prod_nm like '%A%'

正在将一个数值列(
Review.prod\u id
)与一个varchar列(
Products.prod\u id
)连接起来(使用
ON
),这就是错误的来源。

prod\u nm
必须是数字列,对此错误没有其他解释。“我在其他表上使用了相同的SQL语句,但没有错误。”。不能在所有表上使用相同的
SQL
查询并期望相同的结果,除非这些表是相同的。您能提供您的架构吗?不幸的是,OP的错误来自查询的一部分(联接)没有具体说明。答案的注释中给出了实际细节。我投票以“无法复制”结束这个问题。嗨@koby,Prod_nm是Varchar2。@LexDacs这不可能,你100%确定吗?是的,先生。实际上,原始查询是
Select*from Products internal join Review on Products.Prod_id=Review.Prod_id where Products.prod\u nm类似“%A%”
Review.prod\u id或
Products.prod\u id
是数字的
Review.Review\u id