SELECT * FROM TAB C WHERE TO_DATE((CASE WHEN TO_CHAR(SYSDATE, 'mm') = '12' AND TO_CHAR(BIRTHDAY, 'mm') = '01' THEN TO_CHAR(SYSDATE + 31, 'YYYY') ELSE TO_CHAR(SYSDATE, 'YYYY') END) || '-' || TO_CHAR(BIRTHDAY, 'MM-DD'), 'YYYY-MM-DD') BETWEEN SYSDATE AND SYSDATE + 30 AND BIRTHDAY IS NOT NULL;
The above is to query the employees who have a birthday within 30 days (30 can be the number of days you want)`