首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有谁能告诉我为什么我的case语句返回null(很好)

有谁能告诉我为什么我的case语句返回null(很好)
EN

Stack Overflow用户
提问于 2019-07-11 03:41:23
回答 1查看 375关注 0票数 0

对于case语句,我有一个查询返回null(很好),但是当对每种情况使用where语句时,输出中都有记录。

代码语言:javascript
运行
复制
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

A_b_ null null 10-7月-19日良好 null null 10-7月-19日良好 null null 10-7月-19日良好 null null 10-7月-19日良好

在执行此查询(或其他两个)时,我已经输出了

代码语言:javascript
运行
复制
select a,b,sysdate  from mytable 
where a > b 

输出(其中查询):

A/b/ sysdate 10-APR-15\x{e76f}06-APR-15\x{e 010}7月10日至19日 06-APR-15\x{e76f}06-APR-15\x{e76f}7月10日至19日 02-APR-15\x{e76f}01-APR-15\x{e76f}7月10日至19日

代码语言:javascript
运行
复制
select a,b,sysdate  from mytable 
  where a IS NULL  AND SYSDATE > b 

select a,b,sysdate from mytable
   where a <= b
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-11 05:24:40

where语句获得null值时,它返回unknown,它从结果集中删除记录。

阅读有关Server中三个值逻辑的更多信息(只需google it :)。

这就是为什么你没有任何记录。例如,在a列中,a始终是null,在rsult中不提供任何记录。

您需要使用coalesce或类似的"null-preventing“函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56981337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档