Est-ce que cela fonctionnerait de déplacer les valeurs par défaut dans la requête et de les utiliser tant qu’aucune date n’est sélectionnée ? Donc, quelque chose comme ceci :
-- [params]
-- null date :start_date
-- null date :end_date
SELECT id as topic_id, created_at
FROM topics
WHERE created_at > COALESCE(:start_date, CAST(date_trunc('week', current_date) AS DATE))
AND created_at < COALESCE(:end_date, CAST(date_trunc('week', current_date) AS DATE)+4)