Select语句中的条件...... T SQL

时间:2012-07-19 19:51:24

标签: sql-server-2008 tsql bit-manipulation

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

所有这些列都存储位值(true或false)。

如何编写一个使用这些列上的逻辑运算的select查询并获得最终结果?

例:

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

2 个答案:

答案 0 :(得分:2)

bit列支持

Bitwise Operators

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

当两个操作数均为bit时,结果与应用逻辑运算符的结果相同。

答案 1 :(得分: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