如何在PostgreSQL中按年-ISO周范围删除数据?
PostgreSQL按ISO周范围删除记录的SQL语句
针对需求,要删除mytable中2021年第51周至2023年第1周的所有记录,可以使用以下DELETE语句:
DELETE FROM mytable WHERE (年份 = 2021 AND "ISO周" >= 51) OR (年份 = 2022) OR (年份 = 2023 AND "ISO周" <= 1);
条件说明:
(年份 = 2021 AND "ISO周" >= 51):匹配2021年第51、52周的记录(年份 = 2022):匹配2022年全年所有周的记录(年份 = 2023 AND "ISO周" <= 1):匹配2023年第1周的记录
安全验证建议:
执行删除操作前,建议先用SELECT语句确认待删除的记录范围是否准确,避免误删:
SELECT * FROM mytable WHERE (年份 = 2021 AND "ISO周" >= 51) OR (年份 = 2022) OR (年份 = 2023 AND "ISO周" <= 1);
内容的提问来源于stack exchange,提问作者Альберт Александров
相关产品推荐
相关产品推荐

