2009-02-25 92 views
0

我的数据库中有两个表(我们假设t1和t2),并且每个表中有一个类型为BIT的字段(我们称之为field1),我想要做的是具有相同的通过使用& &布尔运算符(如在C,C#,Java的..等)所获得的功能,或者换句话说,我想这样做:在SQL中使用&&的等效代码

选择t1.field1 & &从t1 t2.field1,T 2,其中... (如果field1在其中一个表中为false,则应该返回false,在两个表中都返回true它必须是true)

我知道可以使用用例(或IF()在MySQL),但我很好奇,想知道是否还有其他办法...

回答

4
SELECT t1.field & t2.field 
+0

这是错误的。示例SELECT 2&4在返回true时返回0 – 2009-02-25 13:45:12

+0

2和4是INT。 2&4 == 0.对于BIT,它可以正常工作 – Quassnoi 2009-02-25 13:46:01

1
SELECT t1.field1 && t2.field1 FROM t1, t2 WHERE t1.field1 = 1 AND t2.field2 = 1 
0

没有一个标准的SQL的方式来做到这一点 - 任何这样的机制是DBMS特定的。

1

AND and &&是等同的。因此,您可以使用“t1.field1 && t2.field1”或“t1.field1 AND t2.field1”:

SELECT t1.field1 && t2.field1 
FROM … 

SELECT t1.field1 AND t2.field1 
FROM …