2009-02-25 85 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 …