Adding 1 week to a timestamp, which can be NULL or expired

Started by Alexander Farberover 14 years ago2 messagesgeneral
Jump to latest
#1Alexander Farber
alexander.farber@gmail.com

Hello,

I'm trying to add 1 week "VIP-status" to all users in a table:

update pref_users set vip = max(vip, now()) + interval '1 week';

but max() doesn't work with timestamps.

Is there maybe still a way to solve it with a one-liner?

Thank you
Alex

#2John R Pierce
pierce@hogranch.com
In reply to: Alexander Farber (#1)
Re: Adding 1 week to a timestamp, which can be NULL or expired

On 11/20/11 2:32 AM, Alexander Farber wrote:

update pref_users set vip = max(vip, now()) + interval '1 week';

but max() doesn't work with timestamps.

max works fine with timestamps... however, its a 1 argument function
that takes an aggregate as its argument.

you perhaps want GREATEST(val1,val2)

update pref_users set vip = greatest(vip, now()) + interval '1 week';

--
john r pierce N 37, W 122
santa cruz ca mid-left coast