मेरे पास आईडी और तिथियों के साथ एक टेबल "तिथियां" है: (तारीख टाइमस्टैम्प में हैं)

id start_date
1  2020-11-23 11:00:00
2  2020-11-23 12:00:00
3  2020-11-15 10:00:00
4  2020-11-24 09:00:00
5  2020-11-11 09:00:00
6  2020-11-24 13:00:00
7  2020-11-25 15:00:00

कोड को आईडी वापस करनी चाहिए:

id
 1
 2
 4
 6
 7

मैंने निम्नलिखित की कोशिश की:

select id
from dates
where dates.start_date > DATE_SUB(DATE(NOW()), INTERVAL DAYOFWEEK(NOW())+6 DAY) 
AND dates.start_date <= DATE_SUB(DATE(NOW()), INTERVAL DAYOFWEEK(NOW())-1 DAY)

लेकिन यह काम नहीं लग रहा था। मुझे एक सिंटैक्स त्रुटि हो रही है:

त्रुटि: "DAYOFWEEK" पर या उसके निकट सिंटैक्स त्रुटि

आज की तारीख पर विचार करें: 2020-11-26 मैं भी PostgreSQL का उपयोग कर रहा हूँ!

0
Jana Nizam 26 नवम्बर 2020, 18:13

1 उत्तर

सबसे बढ़िया उत्तर

ऐसा लगता है कि आप चाहते हैं:

select id
from t
where t.start_date > current_date - interval '7 day';

या, शायद - आप "सप्ताह" को कैसे परिभाषित करते हैं, इस पर निर्भर करता है:

where t.start_date >= date_trunc('week', current_date) - interval '7 day' and
      t.start_date < date_trunc('week', current_date)
2
Gordon Linoff 26 नवम्बर 2020, 18:20