2017-06-28 4 views
0

現在の週のデータを照会:PostgreSQLは、私は私が最初にこれを試してみました、この現在の週のために予約されているすべての予定をつかむしようとしている

select * 
from appointments 
where staff_id = 'id' 
and (to_timestamp(appointments.start_time)) > (current_date - interval '1 week') 
and (to_timestamp(appointments.start_time)) < (current_date + interval '1 week') 

これは単に+/- 7に等しいすべての予定を選択現在の週ではありません。これは私の次の試みでした。私はその壊れていることを知っているが、私はそれがポイントを取得すると思う。

select * 
from appointments 
where staff_id = 'id' 
and (to_timestamp(appointments.start_time)) > (current_date - interval concat(extract(dow from current_date), ' days')) 
and (to_timestamp(appointments.start_time)) < (current_date + interval concat(7 - extract(dow from current_date), ' days')) 

このクエリを作成するにはどうすればよいですか?

答えて

0

あなたは週のPostgresのの定義に同意する場合は、あなたが行うことができます:

select a.* 
from appointments a 
where staff_id = 'id' and 
     to_timestamp(appointments.start_time) >= date_trunc('week', current_date) and 
     to_timestamp(appointments.start_time) < date_trunc('week', current_date) + interval '1 week'; 
関連する問題