日時を使用して毎週のイベントを保存する一連のレコードがあります...start_at
それらが開始された最初の週から。
これは REAL DATE ではなく、DAY (DOW) と TIME を格納していますが、実際に探している日付ではありません。
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
どんな助けでも大歓迎です!