nvl(class,'')<>''总为false select * from student where nvl(class,'')<>''.这句话中的nvl(class,'')<>''总为false,class的值有得为null,有得时4,5,3……。我就是写成4<>''这个条件都是false,甚是郁闷,请高手给俺点拨…… 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 空 与 null 是两个不同的值,你要检查下你class里存的是空值还是null值 有的是null,有的是空,有的有值,现在要统一把nulll改为'',但是出现了问题…… --要是统一把null改为空,这样就可以了:update table set 字段='' where 字段 is null; 4,5 is number类型和char类型你直接比较??/ oracle是不区分 '' 和null的 ''就是null select * from all_tableswhere '' is null你加个空格了试试select * from student where nvl(class,' ')<>' ' 因为 null=null 和null<>null 都是false 所以你的查询都是false 呵呵 多谢各位指点,问题解决了: where nvl(PaymentBn,'') is not null。 关于Oracle的题,各位帮帮忙了。。。 hibernate 问题 求大神解决。 like 百分号 时强制使用索引,是否能起到应有的效果?排序分页时如何避免全表查? 一个查询问题,挺难的,请教高手 oracle数据库中的用户能删除哪些? 问了命令:oradim –new –sid 是干什么用的? 取两张表所不共有的数据 急,急,UPDATE执行时间过长。 表复制时,如果源表有字段的类型是LONG RAW ,复制失败,如何解决? 一个比较困难的报表 oracle 数据导出和导入 imp import一个数据库 报错误IMP-00058,ORA-01017
--要是统一把null改为空,这样就可以了:
update table set 字段='' where 字段 is null;
where '' is null
你加个空格了试试
select * from student where nvl(class,' ')<>' '