SYSDATE
- это функция, которая возвращает компонент даты и времени. Если вы не TRUNC
съели его, вы получите оба:
SQL> select sysdate,
2 sysdate - 7 prev_week,
3 sysdate - 1 yesterday
4 from dual;
SYSDATE PREV_WEEK YESTERDAY
------------------- ------------------- -------------------
30.04.2019 23:13:14 23.04.2019 23:13:14 29.04.2019 23:13:14
SQL>
Если вы TRUNC
съели его, вы получите полночь:
SQL> select trunc(sysdate) today,
2 trunc(sysdate - 7) prev_week,
3 trunc(sysdate - 1) yesterday
4 from dual;
TODAY PREV_WEEK YESTERDAY
------------------- ------------------- -------------------
30.04.2019 00:00:00 23.04.2019 00:00:00 29.04.2019 00:00:00
SQL>
Что означает, что ваше последнее состояние должно быть, вероятно,
where edate between trunc(sysdate-7) and trunc(sysdate-1) ;