यह आपको एक वर्ष के लिए सभी लापता दिन मिल जाएगा (SQL Fiddle )।
all_dates
2012 की सभी तिथियों की एक सूची तैयार करता है (आवश्यकतानुसार समायोजित करें), और LEFT JOIN
IS NULL
के लिए जाँच कर रहा है उन तिथियों को हटा देता है जो आपकी स्रोत-तालिका में मौजूद हैं।
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
;
तारीख को तीन बार हार्ड-कोडिंग करने के बजाय बाइंड वेरिएबल का उपयोग करना सुनिश्चित करें।