试着为每个条目写查询,如果n小时应该存档( auto_archive_h
在表中)未更新。将项目标记为存档需要集 archived
至 TURE
以及 archived_at
直到现在。但如果 auto_archive_h
是 NULL
或者 updated_at
是 NULL
在查询中不涉及,只是通过。
星期六和星期天不算存档时间。
我有个问题 WHERE
条件。如何计算小时数差异并与 auto_archive_h
?
表格:
CREATE TABLE items
(
id BIGSERIAL PRIMARY KEY,
updated_at TIMESTAMP,
auto_archive_h INT,
archived BOOLEAN NOT NULL DEFAULT FALSE,
archived_at TIMESTAMP
);
查询:
UPDATE items
SET archived = TRUE, archived_at = now()
WHERE ?issue_here?
就像 to_hours(now() - updated_at) > auto_archive_h
但是使用wrire语法。
帮我完成查询。谢谢您。
1条答案
按热度按时间4xrmg8kj1#
也许使用自定义函数最简单:
那么情况就是