Я работаю с приложением для iPhone, в котором настроена база данных SQLite. У меня есть поле в базе данных, которое имеет тип FLOAT, поэтому у меня есть значения, как 10 500,00.
Дело в том, что если я выберу эту таблицу и упорядочу по этому полю, значения будут упорядочены так, как если бы это было строковое значение.
Вот пример того, что я получаю:
SELECT floatField FROM table ORDER BY floatField ASC;
И результат:
109,800.00
48,950.00
53,600.00
54,790.00
74,305.00
Это, очевидно, неправильно, потому что 109 800,00> 48 950,00 в качестве значений с плавающей запятой.
Поэтому я думаю, что SQLite работает с этими значениями, как если бы они были строками, где 109 800,00 <48 950, где строка '1' <строка '4'. </p>
Если я приведу значение к плавающему, используя этот запрос:
SELECT cast(floatValue as Float) FROM table ORDER BY floatField ASC;
Результат, который я получаю, таков:
109
48
53
54
74
Так что это тоже неправильно.
Любые идеи будут приветствоваться!