упорядочить по строке, содержащей число с разделителем-запятой - PullRequest
1 голос
/ 13 апреля 2020

У меня есть столбец, содержащий данные Sring с числами в них. формат числа как (x,xxx). например, число 1555 хранится как 1555. Я хочу заказать данные из таблицы. Я пробовал CAST AS

@Query("SELECT * from  country_table ORDER BY CAST(cases AS INTEGER)")
fun getAllCountries(): LiveData<List<SingleCountryStats>>

, но это не работает, так как поле не может быть приведено к целому числу из-за запятой в середине

есть ли возможность удалить запятые затем заказать результаты?

Ответы [ 2 ]

1 голос
/ 13 апреля 2020

Удалите запятую и сортируйте столбец как число:

SELECT * from  country_table ORDER BY REPLACE(cases, ',', '') + 0

Оператор + неявно преобразует строку в число.

1 голос
/ 13 апреля 2020

Если запятые используются последовательно, вы можете использовать:

order by length(cases), cases

В противном случае вы можете удалить запятые и преобразовать:

order by cast(replace(cases, ',', '') as int)
...