Вы не можете просто использовать строку даты любого формата при сравнении с датами, она должна либо соответствовать NLS_DATE_FORMAT
, либо вы должны преобразовать ее, используя TO_DATE
.
Более того, предпочитайте не использовать TRUNC
в столбце даты непосредственно в where clause
для сравнения. Он будет медленнее и может не использовать индекс, если он существует в столбце time_stamp
(если только у вас нет индекса на основе функций для TRUNC(time_stamp)
. Используйте простые литералы DATE/TIMESTAMP
с условиями >=
& <
.
select count(*),id,time_stamp
from tab
where time_stamp >= DATE '2018-11-12' AND time_stamp < DATE '2018-11-12' + 1
group by id,time_stamp