gpt4 book ai didi

android - 如何在 SQLiteDatabase 原始查询绑定(bind)中设置数据类型?

转载 作者:太空宇宙 更新时间:2023-11-03 10:29:36 25 4
gpt4 key购买 nike

SQLiteDatabase 中的参数 raw query函数被绑定(bind)为字符串,这给我带来了问题。

示例查询(绑定(bind) 50):

    SELECT ? < 68

返回:0

    SELECT min(?, 68)

返回:68

这样的结果是因为50绑定(bind)为字符串,查询看起来像 SELECT '50' < 68 ;返回 false .

在运行时创建了复杂的查询,我必须使用 SQLiteDatabase.rawQuery .

如何将数据绑定(bind)为Integer

我找到了一个解决方案:

SELECT CAST( ? AS INTEGER ) < 68 ;

但它看起来很丑。还有别的办法吗?我在 Android API 中找不到任何合适的方法。

最佳答案

我意识到这是一个老问题了,但你应该使用 compileStatement 后跟 bindLong在生成的 SQLiteProgram 类上。这是 Google 让足够聪明的人使用 SQL 来编译语句以获得更好性能的额外插入力的方法。

关于android - 如何在 SQLiteDatabase 原始查询绑定(bind)中设置数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8007458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com