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 puedo obtener datos de una base de datos SQLITE en una matriz en android?
  • La aplicación se bloquea al actualizar la base de datos sqlite por primera vez
  • Excepción aleatoria android.database.sqlite.SQLiteException: no se puede abrir el archivo de base de datos
  • Aplicación Android phonegap que tiene problemas con SQlite y almacenamiento local en dispositivos Samsung Galaxy
  • SQLite de Android usando db.query () para JOIN en lugar de rawquery ()
  • Citas de Android dentro de una cadena de consulta SQL
  • Cómo escribir una base de datos en un archivo de texto en android
  • GreenDAO soporta múltiples relaciones entre tablas
  • Limitar el número de filas devueltas desde sqlite
  • Visualización de datos SQLite en una tableta Android - Navegador de base de datos SQLite
  • AUTOINCREMENT sólo está permitido en un INTEGER PRIMARY KEY - android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.