首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们是否可以在没有其他语句的情况下编写case语句?

我们是否可以在没有其他语句的情况下编写case语句?
EN

Stack Overflow用户
提问于 2016-10-18 07:21:09
回答 3查看 65.7K关注 0票数 16

我有一个疑问:

代码语言:javascript
复制
select case when id=1 then 'A'
when id=2 then 'B'
end 
from test

这是给我的交货单

Id 一个 B 空 空 空

我不想在输出中有NULL值,我只想在A和B中进行比较,是否可以在case语句中进行比较。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-18 07:25:32

case表达式只能操作表达式的值,不能从结果中删除行。如果要从结果中省略nulls,则必须添加一个where子句:

代码语言:javascript
复制
SELECT CASE WHEN id = 1 THEN 'A'
            WHEN id = 2 THEN 'B'
       END 
FROM   test
WHERE  id IN (1, 2) -- HERE
票数 17
EN

Stack Overflow用户

发布于 2016-10-18 07:24:48

可以使用WHERE子句限制输出。

代码语言:javascript
复制
SELECT CASE WHEN id=1 THEN 'A'
WHEN id=2 THEN 'B'
END 
FROM test
WHERE id IN (1,2)

或者,如果您想展示其他值而不是null,请在CASE语句中使用else部件。

代码语言:javascript
复制
SELECT CASE WHEN id=1 THEN 'A'
WHEN id=2 THEN 'B' ELSE 'Invalid'
END 
FROM test
票数 3
EN

Stack Overflow用户

发布于 2021-05-14 22:23:00

给你:

代码语言:javascript
复制
select case when id=1 then 'A'
when id=2 then 'B'
end 
from test
where id is not null 

或者这个:

代码语言:javascript
复制
select case when id=1 then 'A'
when id=2 then 'B'
end 
from test
where id <> null
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40101963

复制
相关文章

相似问题

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