我想使用下面的查询
( 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+")";
提前谢谢你。请帮帮我。
答案 0 :(得分:1)
您对带有AND / OR的括号的使用是正确的。
您的问题是电话号码不应存储为数字,因为它们只是数字和其他字符的字符串。
如果数据库中的值是字符串,则它永远不会与数字相等。
要将值格式化为字符串,必须引用它:
... WHERE number = '+12345'
答案 1 :(得分:1)
您的查询是对的。但'number'列是一个字符串?您在电话号码前面有一个“+”,请尝试使用引号。