select name
from student
where age =
(case when sex is not null then '15' end)
当sex=null时,结果是什么样的
from student
where age =
(case when sex is not null then '15' end)
当sex=null时,结果是什么样的
调试欢乐多
等价于
(case when sex is not null then '15' else null end)
原理很简单,当sex=null时,就是
select case when null is not null then '15' end from dual ;
返回结果是null
select name
from student
where age = null
这个语句什么都查询不到。
WHERE age=(CASE WHEN sex is not null THEN '15' ELSE null END)