我在找一個SQLite WHERE子句,這將給我的記錄,如果它們是:SQLite的布爾WHERE檢查0和NULL值
0 (false)
NULL (false)
1 (true)
因此,除了0和1我也有NULL記錄。
我現在在做一個
SELECT * FROM my_table WHERE (MyBoolean IS NULL OR MyBoolean = 0) AND SomeOtherValue NOT NULL;
當使用
SELECT * FROM my_table WHERE NOT MyBoolean AND SomeOtherValue NOT NULL;
值= NULL記錄都沒有找到,只值= 0記錄:O(
我是不是要把我的列作爲一個布爾值嗎?
謝謝安東。我認爲我是最好的嘗試防止NULL值。 – pxp 2013-02-14 12:50:19
SELECT * FROM my_table WHERE MyBoolean!= 1; 這隻給我0值記錄。我怎樣才能得到NULL記錄呢? – pxp 2013-02-14 13:09:16
'NULL!=任何東西'總是'NULL',所以去'COALESCE'。 (我可以預先說'NOT(MyBoolean = 1)'也沒有幫助,因爲NULL = nothing是NULL,NOT(NULL)是NULL。 – 2013-02-14 13:10:49