我有一张包含用户记录的postgres表。我想选择last_visit
时间戳在上周内的所有记录,或者在上周创建帐户的所有记录。但是,如果用户尚未访问,则last_visit
时间戳为空(是的,我知道 - 它未设置为默认为帐户创建日期)。
所以我需要选择 last_visit
在上周的所有记录OR,如果那是空的,creation_date
在最后一周周。
像这样的东西,虽然这不起作用(我尝试过的其他可能的语法也没有尝试过:
SELECT * FROM users
WHERE
IF (users.last_active IS NULL) THEN
value(users.last_visit,timestamp(users.creation_date)) < current timestamp - 7 days
ELSE
users.last_active < current timestamp - 7 days
END IF
有什么建议吗?