gpt4 book ai didi

android - 比较 TEXT 变量不起作用

转载 作者:行者123 更新时间:2023-11-30 03:59:35 24 4
gpt4 key购买 nike

当我尝试在我的 Android SQLite 数据库上比较 TEXT 时遇到问题。

我有这样的查询:

select * from myTable where _id='some.text.dots.are.really.there!'

myTable 是 TEXT PRIMARY KEY。我正在尝试选择和更新表中的一些数据。那里有并在我执行 SELECT * 时返回。

Android 代码(带有 where 子句)如下所示:

mDb.query(TABLE_TRANSACTIONS, TABLE_TRANSACTIONS_COLUMNS, COLUMN__ID + " = ?", 
new String[] {id }, null, null, null);

但是

mDb.query(TABLE_TRANSACTIONS, TABLE_TRANSACTIONS_COLUMNS, COLUMN__ID + " = '" + id + "'", 
null, null, null, null);

两者都不起作用。我如何在 Android 上的 SQLite 中比较 TEXT 值?

最佳答案

SQLite 在比较字符串时还会考虑 TEXT CASE(大写/小写),因此您可以使用 COLLATE NOCASE,这会强制 SQLite 忽略 TEXT案例.

试试这个:

SELECT * 
FROM myTable
WHERE _id='some.text.dots.are.really.there!'
COLLATE NOCASE;

您可以使用 rawQuery 进行选择:

mDb.rawQuery('Query Here',null);

并为 INSERT/UPDATE/DELET 执行查询:

mDb.executeQuery('Query Here',null);

关于android - 比较 TEXT 变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12712086/

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