У меня есть запрос, подобный следующему, который я хотел бы выполнить в базе данных sqlite:
SELECT name
FROM table
WHERE name LIKE "%John%"
ORDER BY (CASE WHEN name = "John" THEN 1 WHEN name LIKE "John%" THEN 2 ELSE 3 END),name LIMIT 10
Я хотел бы использовать SQLite для Swift, чтобы объединить запрос в цепочку, но я ' Я озадачен тем, как (или если это вообще возможно) использовать метод .order.
let name = "John"
let filter = "%" + name + "%"
table.select(nameCOL).filter(nameCOL.like(filter)).order(nameCOL)
Получает меня
SELECT name
FROM table
WHERE name LIKE %John%
ORDER BY name
Любые идеи о том, как добавить в запрос, чтобы получить более продвинутую сортировку, где имена, начинающиеся с Джона, идут первыми, а затем имена с Джоном в их?
Я видел sqlite часть решения здесь: SQLite LIKE & ORDER BY Запрос на совпадение
Теперь я просто хотел бы реализовать его с помощью SQlite для Swift
Кажется, это может быть слишком ограничительным, учитывая ограниченные примеры, кто-нибудь еще имеет опыт работы с более сложными предложениями ORDER BY?
Большое спасибо.