欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

where后面的字符串明明正确却查不到

程序员文章站 2022-07-13 17:42:01
...

今天在看到http://haohaoxuexi.iteye.com/blog/1820541这位朋友写的面试题的时候,自己没事,也在自己的电脑上建了张表。

结果查询的时候出问题了。

select * from student;

 

这样是可以查询出所有的记录的,但是加上条件就不行了,例如

select * from student where iname='张三';

让我很是好奇,后面细细想下才发现,原来是自己在建表的时候把这个字段写成了varchar2了,在Oracle中如果varchar2设置的是8位,实际数据占用2位的话,后面6位会被自动定义为空,也是存在的。

所以在查询的时候当然查询不到啦。

做个实验上面的语句假如这样写就可以查询的到了。

select * from student where iname like '张三%';