本月内的:
SELECT * FROM huiyuan_xinxi WHERE  to_char(birday_sr,'yyyy-mm')=to_char(SYSDATE,'yyyy-mm')
两个月内的:不知道前两个月算不算,先说不算的:
SELECT *
  FROM HUIYUAN_XINXI
 WHERE TO_CHAR(BIRDAY_SR, 'yyyy-mm-dd') <=
       TO_CHAR(ADD_MONTHS(SYSDATE, 2), 'yyyy-mm-dd')
   AND TO_CHAR(BIRDAY_SR, 'yyyy-mm-dd')>=to_char(SYSDATE,'yyyy-mm-dd')
如果两个月以前也算的话:
SELECT *
  FROM HUIYUAN_XINXI
 WHERE TO_CHAR(BIRDAY_SR, 'yyyy-mm-dd') <=
       TO_CHAR(ADD_MONTHS(SYSDATE, 2), 'yyyy-mm-dd')
   AND TO_CHAR(BIRDAY_SR, 'yyyy-mm-dd')>=to_char(add_months(SYSDATE,-2),'yyyy-mm-dd')
主要使用的函数就是add_months函数

解决方案 »

  1.   

    根据楼主的意思,我感觉应该这么写:SELECT *
      FROM HUIYUAN_XINXI
     WHERE  TO_CHAR(BIRDAY_SR, 'yyyy-mm-dd')>=to_char(SYSDATE,'yyyy-mm-dd')
              OR  TO_CHAR(BIRDAY_SR, 'yyyy-mm-dd') =
                      TO_CHAR(ADD_MONTHS(SYSDATE, 1), 'yyyy-mm-dd');感觉一楼误解楼主的意思了,实际上我们只会关心还没过生日的会员,应该查当月及下月的会员生日情况。