varchar2型字段查询问题

    

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')

 

 

你可能感兴趣的:(sql,c)