मुझे कुछ समय पहले ऐसा करने की ज़रूरत थी और इस तथ्य का उपयोग करके समाप्त हुआ कि आप अंतराल को $1
से गुणा कर सकते हैं ।
postgres=# select interval '1 year' - interval '1 month' * 5;
?column?
----------
7 mons
(1 row)
तो, यह काम करना चाहिए:
query = from ch in Child,
join: loc in assoc(ch, :location),
where: ch.birthday <= fragment("(now() AT TIME ZONE ?)::date - interval '1 month' * ?", loc.time_zone, 2)
Repo.all(query)