oracle sql birthday reminder (compatible with New Year's Eve)

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)`

 

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326175672&siteId=291194637