【发布时间】:2019-06-10 18:07:34
【问题描述】:
在盟军CASE WHEN条件作为列之后,我们可以过滤该列吗?
示例;
SELECT
CASE WHEN Number like '20%' THEN 'X'
WHEN Number like '15%' or Number like '16%' THEN 'Y' ELSE 'Z'
END Operation
,*
FROM
TableA
where Operation like 'X'
我将 CASE WHEN 条件称为“操作”,现在我只想在“操作”列中查看操作“X”。
有没有办法在 SSMS 2012 中使用 where 子句过滤 CASE WHEN 条件?
【问题讨论】:
-
为什么不直接
WHERE Number LIKE '20%'?并且由于您过滤了结果集,因此您不需要CASE表达式,只需'X' AS Operation -
我实际上有多个 CASE WHEN 语句,但是使用 Number 作为过滤条件也很有效且简单。谢谢@Sami
标签: sql sql-server tsql ssms ssms-2012