Android 如何结合AND&;编写where子句;或
我想使用下面这样的查询Android 如何结合AND&;编写where子句;或,android,sqlite,Android,Sqlite,我想使用下面这样的查询 ( type = 1 OR type = 3 ) AND number = +9199123456 或低于一 ( type = 1 AND number = +9199123456) OR ( type = 3 AND number = +9199123456) 在我的代码中,我像 whereClause = CallLog.Calls.NUMBER + " = " + phNO + " AND ("+CallLog.Calls.TYPE + " = " + Call
( type = 1 OR type = 3 ) AND number = +9199123456
或低于一
( type = 1 AND number = +9199123456) OR ( type = 3 AND number = +9199123456)
在我的代码中,我像
whereClause = CallLog.Calls.NUMBER + " = " + phNO + " AND ("+CallLog.Calls.TYPE + " = " + CallLog.Calls.INCOMING_TYPE + " OR " + CallLog.Calls.TYPE + " = " + CallLog.Calls.MISSED_TYPE+")";
先谢谢你。请帮帮我。带和/或的括号的用法是正确的 您的问题是,电话号码不应存储为数字,因为它们只是数字字符串和其他字符 如果数据库中的值是字符串,它将永远不会与数字进行比较 要将值格式化为字符串,必须引用它:
... WHERE number = '+12345'
你的问题是对的。但是“number”列是字符串吗?您的电话号码前有一个“+”,请尝试使用引号。谢谢,您救了我。我不知道如何使用LIKE。是这样吗。。。类似“%=99123456%”和(type=1或type=3)的数字,这取决于您要执行的操作。这将搜索子字符串(以
=
开头)。某些子字符串被否决。也许他不知道如何解决这个问题。您可以参考以下解决方案