Você está comparando duas STRINGS . Você precisa comparar a DATA s. Como já disse na outra resposta aqui, você precisa deixar a data como está para os cálculos de DATE. TO_CHAR é para exibição e TO_DATE é converter um literal de string em DATE.
SELECT TO_CHAR(REPORTDATE, 'DD.MM.YYYY'),
COUNT(*)
FROM TABLE
WHERE REPORTDATE > TO_DATE('09.11.2013', 'DD.MM.YYYY')
GROUP BY TO_CHAR(REPORTDATE, 'DD.MM.YYYY')
Além disso, REPORTDATE é uma coluna DATE, portanto, terá o elemento datetime. Portanto, se você quiser excluir o elemento de tempo durante a comparação, precisará usar TRUNC
WHERE TRUNC(REPORTDATE) > TO_DATE('09.11.2013', 'DD.MM.YYYY')
No entanto, aplicar TRUNC na data coluna suprimiria qualquer índice regular nessa coluna. Do ponto de vista do desempenho, é melhor usar uma condição de período .
Por exemplo,
WHERE REPORTDATE
BETWEEN
TO_DATE('09.11.2013', 'DD.MM.YYYY')
AND
TO_DATE('09.11.2013', 'DD.MM.YYYY') +1