我有一个查询,我通过重写工作-它有一个巨大的一堆case文中陈述select列表中的所有基本是这样的:
select
Column1 =
case when (Something = 2) and (SomethingElse is null) and (AnotherThing in (1, 2))
then 1
else 0
end,
Column2 =
case when (Something = 3) and (SomethingElse is not null) and (AnotherThing in (2, 3))
then 1
else 0
end,
...
Run Code Online (Sandbox Code Playgroud)
特别注意when <expressions> then 1 else 0所有这些通用的“ ”逻辑。
它看起来真的很臃肿和冗长,是对case语句的粗暴使用- 我的编程大脑告诉我这可以通过一些基本的二进制&逻辑更简洁地实现,case完全删除:
select
Column1 = (Something = 2) & (SomethingElse is null) & …Run Code Online (Sandbox Code Playgroud)