有没有办法在Sqlite中的rawQuery中强制参数类型?

时间:2019-03-20 17:57:05

标签: android sqlite

在我的Sqlite数据库中,有一个这样创建的视图

CREATE VIEW my_view AS 
SELECT 
...
CASE WHEN some_field IS NOT NULL THEN 1 ELSE 0 END as in_favorite

FROM my_table
...

现在在代码中,我需要根据条件提交所有结果:我想要所有结果,或者只希望该字段中具有1的结果。这是我的代码。

db.rawQuery("SELECT * FROM verb_info WHERE in_favorite != ?",
            arrayOf(if(myBooleanFlag) "0" else "-1")).use { c ->
                // ....
            }

这里的问题是,当myBooleanFlag=true时,此查询似乎被转换为SELECT * FROM verb_info WHERE in_favorite != '0',并且返回了我所有的行。

是否可以将rawQuery的参数类型设置为int,以便像这样SELECT * FROM verb_info WHERE in_favorite != 0进行此查询?

0 个答案:

没有答案