0

我有一个 table1,列为 C1、C2、C3 和 C4

所有这些列都存储位值(真或假)。

如何编写一个使用这些列上的逻辑操作并得到最终结果的选择查询?

前任。:

Select ((C1 OR C2) AND (C3 OR C4)) AS FinalResult
from table1
4

2 回答 2

2

列支持位运算符bit

Select ((C1 | C2) & (C3 | C4)) AS FinalResult
from table1

当两个操作数都是bit时,结果将与应用逻辑运算符相同。

于 2012-07-19T19:58:07.133 回答
1

只需测试它是否等于 1(真):

Select CASE WHEN (C1 = 1 OR C2 = 1) AND (C3 = 1 OR C4 = 1) THEN 1 ELSE 0 END AS FinalResult
from table1
于 2012-07-19T19:53:03.533 回答