【发布时间】:2015-07-13 09:19:29
【问题描述】:
SELECT 是否可以通过 CASE 语句的一击获得两列或更多列的值?我的意思是,而不是:
select
ColumnA = case when CheckColumn='condition' then 'result1' end
,ColumnB = case when CheckColumn='condition' then 'result2' end
类似:
select case when CheckColumn='condition' then ColumnA='result1', ColumnB='result2' end
更新
就像我们可以使用 UPDATE 语句一样:
update CTE
set ColumnA='result1', ColumnB='result2'
where CheckColumn='condition'
【问题讨论】:
-
我只能问为什么?
-
不,不可能使用
CASE表达式。 -
@Kaf 用于在强调条件而不是结果时清除代码。
-
@Fireblade 为了表演。它不是多次检查相同的条件吗?我在 UPDATE 语句stackoverflow.com/a/15881737/1903793 中查找了多个列的更新逻辑
-
可能值得对此进行分类:在文本中你说你想做一个
UPDATE,但你的例子显示SELECT。您能否更改文本或示例以使问题保持一致?
标签: sql sql-server case