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 '
注意 ' '中间有个空格