我有一组记录,它们使用日期时间存储每周事件......start_at
从他们开始的第一周开始。
这不是真正的日期,它存储的是日期(DOW)和时间,但不是我真正要寻找的日期。
我试图弄清楚如何start_at
以某种方式转换/抽象日期,以便使用它可以找到未来 24 小时内的所有下一个事件。
START_AT -> 2010-09-12 16:00:00 -> 转换为 2013-09-08 16:00:00
但我不确定如何start_at
为即将到来的一周中的一天抽象化。
我想出了如何订购它们,但我不确定如何做我想做的事:
SELECT * FROM events ORDER BY (EXTRACT(dow FROM start_at)::int + 7 - EXTRACT(dow FROM now())::int) % 7,start_at::time
任何帮助将不胜感激!