Оператор $sql позволяет выполнить прямую вставку пользовательских SQL выражений в момент трансляции запроса. Оператор работает исключительно с SQL источниками.
Целесообразно применять для случаев, когда отсутствует нужный оператор или СУБД требует специфичного выражения.
Оператор $sql включает аргументы:
$sqlExpr
- текстовое поле с телом SQL выражения;$values
- выражения для подстановки в тело выражения;$type
- задает внутренний тип результата выражения;$nativeType
- задает тип на диалекте СУБД (используется транслятором).SQL выражение может включать параметры:
${имя параметра}
- параметр запроса, определённый в $params;${индекс}
- подставляет результат трансляции в SQL выражения из $values по индексу, первое выражение с индексом 0.Пример формирования строки по значениям из двух полей (для Postgresql):
Результат: