最近遇到一个奇怪的Oracle问题:
    
    Oracle 数据库里面有一个表,在查询表的varchar2类型的column时总是查找不到正常的结果,查询其他类型的column可以返回正常结果。简化的例子如下
    
    ID 列的类型为  number
    
    NAME 列的类型为varchar2(10)
    
    里面的数据如下:(1 ,'94'), (2,'94'), (3,'testname')
    
    
    select * from TestTable where id=1  能返回正常结果
    
    select * from TestTable where name='94' 返回 no rows select
    
    select * from TestTable where name='testname' 能返回正常结果
    
    奇怪的是select * from TestTable where name=94 能返回正常结果
    
    
    而且和这个表varchar2列相关联的view也不能返回正常结果。
    
    这个数据库的其他表查询正常。
    
    
    实在无奈drop了这个table, 又重新create了,能正常工作,可是客户那里不允许我这样做。
    
    而且我也想知道原因。
    
    
    哪位朋友能给指点指点,谢谢!
  


 
					 
					