Я строю эту функцию:
CREATE OR REPLACE FUNCTION qradar21(cliente_in VARCHAR(50), fecha_inicio timestamp, fecha_fin timestamp) RETURNS TABLE(empresa varchar, fecha timestamp, fuente text, total float) AS $$
BEGIN
RETURN QUERY
SELECT qradar_eventos_detalle.empresa, qradar_eventos_detalle.fecha, eventos->>'fuente' AS fuente, sum((eventos->>'total')::float) AS total FROM public.qradar_eventos_detalle
WHERE qradar_eventos_detalle.empresa = 'cliente_in'
AND qradar_eventos_detalle.fecha BETWEEN 'fecha_inicio' AND 'fecha_fin'
GROUP BY qradar_eventos_detalle.empresa, qradar_eventos_detalle.fecha, qradar_eventos_detalle.eventos
ORDER BY total DESC;
END;
$$ LANGUAGE plpgsql
И вызывая его с помощью:
SELECT * FROM qradar21('BancoXXX', '2018-12-29 12:00:00', '2019-03-03 07:00:00');
Получение этого сообщения:
ОШИБКА: неверный синтаксис ввода для отметки времени типа: «fecha_inicio»
ЛИНИЯ 3: И qradar_eventos_detalle.fecha МЕЖДУ 'fecha_inicio' A ...
Если я изменю функцию для непосредственного использования даты (AND qradar_eventos_detalle.fecha МЕЖДУ '2018-12-29 12:00:00' И '2018-12-30 07:00:00'), она прекрасно работает.
Я не знаю, что я делаю неправильно ... Кто-нибудь знает, как передать этот формат "отметка времени без часового пояса" в функцию?
Заранее спасибо