Обратите внимание, что этот вопрос относится ТОЛЬКО к популярной библиотеке SQLite.swift
, stephencelis/SQLite.swift.
С SQLite.swift вы можете
let a = Expression<String>("a")
let b = Expression<String>("b")
и так далее. Но как ты
select a.x, a.y, ifnull(b.q, 'default text'), a.z
from a
left join b on blah
как вы делаете выражение для встроенного предложения sql ifnull?
(В документации упоминается, что в Expression есть инициализатор init(literal:) — возможно, это важно, — но он недокументирован и имеет необычные аргументы привязки.)
Обратите внимание, я полностью осознаю, что вы можете сделать значение необязательным
let q = Expression<String?>("q")
а затем просто установите значение по умолчанию позже;
Я спрашиваю, как выразить «ifnull (b.q, 'текст по умолчанию')» в виде выражения (или узнать, что это невозможно), чтобы это значение действительно использовалось в выражении SQL.
Еще раз повторюсь, этот вопрос относится только к библиотеке /stephencelis/SQLite.swift