我有一个疑问:
select case when id=1 then 'A'
when id=2 then 'B'
end
from test这是给我的交货单
Id 一个 B 空 空 空
我不想在输出中有NULL值,我只想在A和B中进行比较,是否可以在case语句中进行比较。
发布于 2016-10-18 07:25:32
case表达式只能操作表达式的值,不能从结果中删除行。如果要从结果中省略nulls,则必须添加一个where子句:
SELECT CASE WHEN id = 1 THEN 'A'
WHEN id = 2 THEN 'B'
END
FROM test
WHERE id IN (1, 2) -- HERE发布于 2016-10-18 07:24:48
可以使用WHERE子句限制输出。
SELECT CASE WHEN id=1 THEN 'A'
WHEN id=2 THEN 'B'
END
FROM test
WHERE id IN (1,2)或者,如果您想展示其他值而不是null,请在CASE语句中使用else部件。
SELECT CASE WHEN id=1 THEN 'A'
WHEN id=2 THEN 'B' ELSE 'Invalid'
END
FROM test发布于 2021-05-14 22:23:00
给你:
select case when id=1 then 'A'
when id=2 then 'B'
end
from test
where id is not null 或者这个:
select case when id=1 then 'A'
when id=2 then 'B'
end
from test
where id <> nullhttps://stackoverflow.com/questions/40101963
复制相似问题