在sqlite android中存储以0开头的数字

时间:2012-07-23 13:36:36

标签: android sqlite

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

09575788
08902149
08902134
47889789
47889776
47889797
48250496

我的任务是检查数据库中是否存在这些值。所以我构建了一个检查这些值是否存在的方法。

因此,用户在editText中插入其中一个值,我必须检查该值是否存在。

出现的问题是,当我尝试搜索以“0”开头的数字时,查询始终返回null,但是当我搜索任何其他数字时 - 查询不会以“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;

任何想法如何解决?谢谢你的回答

重要所有值都以字符串形式存储在数据库

1 个答案:

答案 0 :(得分:3)

@Adrian,Alex K给了你正确答案,但我认为你误会了他。如果前导零是有意义的(例如,对于可以以零开头的美国邮政编码),那么你没有数字,而是你有一个字符串。这样一列的数据隶属关系应该是文本(aka varchar)。您不希望将前导零值转换为整数;你只想通过将搜索词包装在单引号中来查找字符串值;例如:

          ...  where zipcode = '01287'