我有一个带有 case 语句的查询 return null(good),但是当对每个 case 使用 where 语句时,输出中有记录。
select a,b,sysdate ,
CASE
WHEN a IS NULL AND SYSDATE > b THEN 'O'
WHEN a IS NULL AND SYSDATE <= b THEN 'W'
WHEN a > b THEN 'Fail'
WHEN a <= b THEN 'Pass'
else 'good'
END as result
from mytable
一个 | 乙 | 系统日期 | 结果
空 | 空| 19 年 7 月 10 日 |好
空 | 空| 19 年 7 月 10 日 |好
空 | 空| 19 年 7 月 10 日 |好
空 | 空| 19 年 7 月 10 日 |好
当我执行这个查询(或其他两个)时,我有输出
select a,b,sysdate from mytable
where a > b
输出(在哪里查询):
一个 | 乙 | 系统日期
15 年 4 月 10 日| 06-APR-15| 19 年 7 月 10 日|
06-APR-15| 06-APR-15| 19 年 7 月 10 日|
02-APR-15| 01-APR-15| 19 年 7 月 10 日|
select a,b,sysdate from mytable
where a IS NULL AND SYSDATE > b
select a,b,sysdate from mytable
where a <= b