2011-01-28 73 views
9

這讓我瘋狂。我覺得我已經嘗試了一切,但沒有結果。如何在sql lite中的where子句中包含布爾條件?如何將一個布爾值包含在sql lite子句中

我嘗試了這些

"Select * from table where col = 1" 
"Select * from table where col = '1'" 
"Select * from table where col = true" 
"Select * from table where col = 'true'" 
"Select * from table where col = 'True'" 
"Select * from table where col is True" 

沒有。我甚至嘗試在查詢函數中包含「true」作爲whereArgs。

以前有人做過這個嗎?

+1

`...其中(COL )`? – 2011-01-28 03:59:05

回答

11
SQLite沒有單獨的布爾存儲類。相反,布爾值被存儲爲整數0(假)和1(真)。

來源:SQLite

第一個就會發出正確的。

+0

我在一小時前跑過相同的信息。我正在計算val是0還是1的行,並且它總是0.可能是其他事情正在發生,我沒有看到。只是想知道如果有人以前做過這個。 – 2011-01-28 04:13:12

0

SQLIte中沒有真正的布爾值。如果您創建使用SQLite管理員,這裏是你如何做到這一點:

Select * from table where col is 'Y' 
-1

這行之有效 「選擇從表*其中列= '真'」

1
SQLite version 3.7.4 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> CREATE TABLE "stack_test" ("id" INTEGER, "bool_col" boolean); 
sqlite> insert into stack_test values(1,'t'); 
sqlite> insert into stack_test values(2,'f'); 
sqlite> insert into stack_test values(3,'1'); 
sqlite> insert into stack_test values(4,'0'); 
sqlite> insert into stack_test values(5,1); 
sqlite> insert into stack_test values(6,0); 
sqlite> insert into stack_test values(7,banana); 
Error: no such column: banana 
sqlite> insert into stack_test values(7,'banana'); 
sqlite> .headers on 
sqlite> select * from stack_test; 
id|bool_col 
1|t 
2|f 
3|1 
4|0 
5|1 
6|0 
7|banana 

sqlite> select * from stack_test where bool_col=t; 
Error: no such column: t 
sqlite> select * from stack_test where bool_col='t'; 
id|bool_col 
1|t 
sqlite> select * from stack_test where bool_col=0; 
id|bool_col 
4|0 
6|0 
sqlite> select * from stack_test where bool_col=1; 
id|bool_col 
3|1 
5|1 
sqlite> select * from stack_test where bool_col=true; 
Error: no such column: true 
sqlite> select * from stack_test where bool_col=banana; 
Error: no such column: banana 
sqlite> select * from stack_test where bool_col='banana'; 
id|bool_col 
7|banana 
sqlite> 
sqlite> .schema stack_test 
CREATE TABLE "stack_test" ("id" INTEGER, "bool_col" boolean); 
sqlite> 
相關問題