假设我已将以下记录作为字符串存储在sqlite数据库中:

09575788
08902149
08902134
47889789
47889776
47889797
48250496

我的任务是检查这些值是否存在于数据库中。所以我建立了一种方法来检查这些值的存在。
因此,用户在编辑文本中插入这些值中的一个,并且我必须检查值是否存在。
出现的问题是,当我试图搜索以“0”开头的数字时,查询总是返回空值,但是当我搜索任何其他数字时(不是以“0”开头的数字),查询将以db为单位查找值。
这是我的代码:
 Cursor cursor = this.db.query(TABLE_NAME, new String[] {KEY1, KEY2, KEY3},
                KEY_CONDITION1 + " LIKE " + prefix1 + " AND " + KEY_CONDITION2 + "=" + prefix2, null, null, null, null);
        return cursor;

知道怎么解决吗?谢谢你的回答
重要信息:所有值都以字符串形式存储在数据库中

最佳答案

@阿德里安,正确的答案是亚历克斯K给你的,但我想你误解了他。如果前导零是有意义的(例如,对于可以以零开头的美国邮政编码),那么您没有数字,而是有一个字符串。这样一个列的数据从属关系应该是text(aka varchar)。您不想将前导零的值强制转换为整数;您只想通过将搜索项用单引号括起来来查找字符串值;例如:

          ...  where zipcode = '01287'

关于android - 在sqlite android中存储以0开头的数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11613640/

10-10 18:35
查看更多