Обсуждение: ago(interval) → timestamptz

Поиск
Список
Период
Сортировка

ago(interval) → timestamptz

От
Florents Tselai
Дата:
Hi, 

I realize this will get some "you can easily implement this yourself” pushback,
But I keep seeing and writing a lot of WHERE ts > now() - interval '1 day' expressions.

Having $subject should help in such cases.
We already have now, and age, so we might as well have ago too.
Other systems also expose similar helpers.

Cheers,
Flo

Вложения

Re: ago(interval) → timestamptz

От
Laurenz Albe
Дата:
On Mon, 2025-11-03 at 22:36 +0100, Florents Tselai wrote:
> I realize this will get some "you can easily implement this yourself” pushback,
> But I keep seeing and writing a lot of WHERE ts > now() - interval '1 day' expressions.

You can easily implement this yourself...
Also, there already is something similar in the shape of 'yesterday'::timestamptz.
Moreover, a good percentage of the users would instead need ago(interval) -> timestamp.

So I'd say that the added value is marginal, and I personally find

   current_timestamp - INTERVAL '1' DAY

more readable and more SQL standard compliant than

   ago('1 day')

Yours,
Laurenz Albe



Re: ago(interval) → timestamptz

От
Quan Zongliang
Дата:

On 11/4/25 1:55 PM, Laurenz Albe wrote:
> On Mon, 2025-11-03 at 22:36 +0100, Florents Tselai wrote:
>> I realize this will get some "you can easily implement this yourself” pushback,
>> But I keep seeing and writing a lot of WHERE ts > now() - interval '1 day' expressions.
> 
> You can easily implement this yourself...
> Also, there already is something similar in the shape of 'yesterday'::timestamptz.
> Moreover, a good percentage of the users would instead need ago(interval) -> timestamp.
> 
> So I'd say that the added value is marginal, and I personally find
> 
>     current_timestamp - INTERVAL '1' DAY
> 
> more readable and more SQL standard compliant than
> 
>     ago('1 day')
> 
now() - interval '1 day' is merely an example. In fact, we could use any 
time. For example
   now() - interval '10 day 5 hours 21 minutes'
This is beyond the scope of what yesterday() can support.

Therefore, I think this patch can be accepted. Make the user's operation 
more convenient.

--
Quan Zongliang

> Yours,
> Laurenz Albe
>