Dette vil give dig alle manglende dage i et år (SQL Fiddle ).
all_dates
genererer en liste over alle datoer for 2012 (juster efter behov), og LEFT JOIN
søger efter IS NULL
eliminerer de datoer, der findes i din kildetabel.
WITH all_dates AS (
SELECT TO_DATE('01-jan-2012') + ROWNUM - 1 AS d
FROM dual
CONNECT BY ROWNUM <= ADD_MONTHS(TO_DATE('01-jan-2012'), 12 ) - TO_DATE('01-jan-2012')
)
SELECT all_dates.d
FROM all_dates
LEFT JOIN t ON ( t.d = all_dates.d )
WHERE t.d IS NULL
ORDER BY all_dates.d
;
Sørg for at bruge en bind-variabel i stedet for at hårdkode datoen tre gange.