问题描述
我想始终获取自当前日期以来最近一个星期六的日期,我正在尝试此查询:
date_trunc('week',current_date) - interval '2' day
如果今天是星期一 - 星期六这会起作用,但如果是星期日,它会返回最后一个星期六而不是昨天。
示例:
如果我将 2021-07-18 作为 current_date,我希望它返回 2021-07-17,但它实际上返回 2021-07-10。
我猜这是因为 presto 将一周视为周一至周日,而不是周日至周六?
我该如何解决这个问题?谢谢!
解决方法
添加两天,截断,然后减去两天:
select date_trunc('week',current_date + interval '2' day) - interval '2' day