у нас в Мускуле вот такая конструкция: coalesce(date(i.birth_date), ' '), возвращающая дату рождения или строку с пробелом, если дата не указана.
Сейчас перезжаем на Постгрес, и при попытке выполнить соответствующие запросы, получаю '[22007] ОШИБКА: неверный синтаксис для типа date: " "'.
Ну или "SELECT coalesce(date('2023-10-01'), 'krja');" -> "[22007] ОШИБКА: неверный синтаксис для типа date: "krja""
Получается, он пытается второй элемент тоже засунуть в date как аргумент. Как это предотвратить? Или, может, другими способами выполнить эту логику?
Спасибо.
coalesce(date(i.birth_date)::text, ' ') но это криво
Это хотя бы работает) А в чём фишка?
Аргументы должны быть приводимыми к одному общему типу, который и будет типом результата (подробнее об этом говорится в Разделе 10.5). postgrespro.ru/docs/postgresql/9.5/functions-conditional#functions-coalesce-nvl-ifnull
Обсуждают сегодня