b.attr_code
b.mem_nbr
都是varchar2型的;
目前情况如下:
tf_b_trade_grp_mem_attr b中的b.attr_code数据只有数值型字符串(如:1,2,3)
tf_b_trade_grp_mem b中的b.mem_nbr 数据既有数值型字符串(如:1,2,3),又有字符型字符串(a,b,c);
执行下面的sql
select * from tf_b_trade_grp_mem_attr b where b.attr_code in (123,234);-----没问题
select * from tf_b_trade_grp_mem b where b.mem_nbr in (123,234);-----报ORA-01722: invalid number
因此,如果确定字段是varchar2的,那么查询条件要加上单引号。如: b.mem_nbr in ('123','234')