Как обработать значение ‘inf’ в базе данных Android SQLite?

#android #sqlite #android-cursor #divide-by-zero

#Android #sqlite #android-курсор #деление на ноль

Вопрос:

По ошибке я поместил двойное значение, деленное на ноль, в столбец базы данных SQLite.

В «DB Browser» это выглядит как строка «Inf» или «inf». Однако «WHERE MY_COLUMN = ‘inf'» не дает результата.

Как я могу получить все записи, содержащие это значение, с помощью SQL-запроса?

Кроме того, как я могу определить это значение в цикле управления курсором?

Я пробовал эти:

 cursor.getString(cursor.getColumnIndex(MY_COLUMN)).equalsIgnoreCase("inf")

cursor.getDouble(cursor.getColumnIndex(MY_COLUMN)) == Double.POSITIVE_INFINITY
  

Также нет результата.

Комментарии:

1. Какое typeof() значение? ТЕКСТОВЫЙ или РЕАЛЬНЫЙ?

2. В базе данных столбец объявлен как ЧИСЛОВОЙ. Typeof() для значений, содержащих ‘inf’, возвращает ‘text’ как в «Браузере базы данных», так и в коде.

3. Шон, большое тебе спасибо за твою идею. Я только что добавил столбец выбора TYPE_COLUMN и запросил таблицу с помощью «TYPE_COLUMN = ‘text'». Это дало мне нужные записи. Если вы укажете это в качестве ответа, я приму его.

4. Оказалось, что значение ‘Inf’ имеет РЕАЛЬНЫЙ тип, а значение ‘inf’ имеет текстовый тип. Мне удалось обработать ТЕКСТОВЫЕ значения, однако я все еще пытаюсь найти в Google, как я могу выбрать реальные значения…

5. Попробуйте это: выберите * из my_table, где my_column * my_column = my_column и my_column != 0