日期:2014-05-16 浏览次数:20477 次
String queryString = " from TProject where nvl(submit,'no') = 'no' ";
NVL函数 :
nvl(submit,'no')的意思是 submit为空 取no? 不为空 去submit的值
nvl(submit,'no')='no'? 的意思是我个人是这样理解的 sumbit为空值时nvl函数 将 空值 转化为no 这样就能查到为空的记录了? sumbit不为空值 也不取submit 的值 将后面的='no'赋给submit,
这样 假如sumbit有三个值可选 yes? no? 和 空 那么 查询到的就是 除yes以外的所有记录
小测试:
CREATE TABLE TProject
(
??? ID NUMBER(4),
??? sub VARCHAR2(20)???
);
INSERT INTO TProject VALUES(1, 'yes');
INSERT INTO TProject VALUES(2, 'no');
INSERT INTO TProject VALUES(3, NULL);
测试结果:
所以,选择是除了sub为yes的所有记录,包括为null的记录。
?