最近遇到一个奇怪的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了,能正常工作,可是客户那里不允许我这样做。
而且我也想知道原因。
哪位朋友能给指点指点,谢谢!