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

oracle的一个傻瓜问题,困扰好几天了,大家过来看看吧
下面是我在SQL*PLUS中的sql语句,我在BS表中查找BEGINTIME时,明明有23:00   和22:00两个字段,
但是我又select   *   from   BS   where   BEGINTIME= '23:00 '确没有记录,这是怎么回事啊,郁闷死了,真的不知道出错在哪了,大家帮忙看看吧

SQL>   select   BEGINTIME   from   BS;

BEGINTIME
---------------------
  23:00
  23:00
  23:00
  22:00
  22:00
  22:00
  23:00
  23:00
  23:00
  23:00
  23:00

BEGINTIME
---------------------
  23:00
  23:00
  23:00
  23:00
  23:00
  23:00
  23:00

18   rows   selected.

SQL>   select   *   from   BS   where   BEGINTIME= '23:00 '
    2     ;

no   rows   selected

------解决方案--------------------
顶一下
------解决方案--------------------
如果是varchar的话,就是数据有空格
用like 来写

select * from BS where BEGINTIME like '%23:00% '

然后你再看出来的结果是前面有还是后面有空格
或者
select * from BS where ltrim(rtrim(BEGINTIME , ' '), ' ')= '23:00 '
注意 ' '中间有个空格