Вы можете избежать extract
и просто использовать:
select *
from consultation
where trunc(cdate) = trunc(sysdate-1)
Здесь я использую trunc
, чтобы удалить часть времени; также обратите внимание, что с помощью extract
для сравнения дня вы получите не только записи вчерашнего дня, но даже записи за прошедшие месяцы.
Если вам нужно получить все записи, где день 6 (при условии, что sysdate 7 мая), независимо от месяца или года, вы можете использовать:
where extract(day from cDate) = extract(day from sysdate -1)