日期:2014-05-17  浏览次数:21005 次

oracle,查询的时候遇到的诡异问题
select * from 表,现在我的表里有一列叫ou,有两行数据,值分别为265300,265317,我的SQL是这样的:
select * from 表 where ou='265300',这样会查出一条数据,select * from 表 where ou='265317',这个SQL就没有查出值,我很郁闷啊,各位大侠有何高见?

------解决方案--------------------
是否有其它不可见字符?
------解决方案--------------------
诡异,把这条记录删了重插一次,看看能不能查到
------解决方案--------------------
看看265317前后有没有空格
------解决方案--------------------
SQL code
select * from 表 where trim(ou)='265317'

------解决方案--------------------
SQL code

select length(ou) from 表

------解决方案--------------------
select length(ou),ou from 表
------解决方案--------------------
这个ou列,是什么类型的啊。如果是数值类型,不需要加''号。
------解决方案--------------------
把表结构贴出来
------解决方案--------------------
那问题找到了吗、
------解决方案--------------------
先看看表结构,然后用select length(ou) from 表看看那一列的长度。