Cómo incluir un booleano en una cláusula sql lite where

Esto me está volviendo loca. Siento que lo he intentado todo y no obtengo resultados. ¿Cómo puedo incluir un condicional booleano en una cláusula where en sql lite?

He intentado estos

"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" 

Nada. Incluso intenté incluir "true" como el whereArgs en una función de consulta.

¿Alguien hizo esto antes?

4 Solutions collect form web for “Cómo incluir un booleano en una cláusula sql lite where”

SQLite no tiene una clase de almacenamiento booleana separada. En su lugar, los valores booleanos se almacenan como enteros 0 (false) y 1 (true).

Fuente: SQLite

El primero entonces suena correcto.

 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> 

No hay verdadero booleano en SQLIte. Si ha creado con SQLite Administrator, aquí es cómo hacerlo:

 Select * from table where col is 'Y' 

Esto funciona bien "Select * from table where col = 'true'"

  • Cómo eliminar tablas y bases de datos con Sqiltehelper en android
  • BroadcastReceiver para SMS de varias partes
  • Conexión con Sqlite en android a través de Servlet
  • SQLite es sin tipo?
  • Obtención del siguiente valor AUTO_INCREMENT de una base de datos SQLite
  • El tacto de la firma de la lona crea la edición en teléfono
  • Eliminación automática de objetos anidados en ORMLite
  • Cómo agregar una columna booleana en Android SQlite
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.