Je pense que vous pourriez simplifier cela à quelque chose comme :
SELECT
t.id AS topic_id,
CURRENT_DATE - t.created_at::date AS days_old
FROM topics t
ORDER BY t.created_at DESC
Il y a aussi un reltime$time astucieux que vous pouvez utiliser pour donner un temps relatif (bien qu’il soit plus utile pour des intervalles de moins de 30 jours, sinon il donne des dates à la place)
SELECT
t.id AS topic_id,
t.created_at AS reltime$time
FROM topics t
ORDER BY t.created_at DESC