select * from tb where datediff(mm,Birthday,dateadd(mm,1,getdate))=0
select * from tb where month(dateadd(mm,1,getdate())) = month(birthday)
select * from 表 where dateadd(mm,1,getdate())=生日
select name from [Table] where month(Birthday)=month(dateadd(m,1,getdate())
--查询某日期段之间的生日(考虑跨年 ) DECLARE @STARTTIME DATETIME SET @STARTTIME='开始日期' DECLARE @ENDTIME DATETIME SET @ENDTIME='截止日期' SELECT * FROM TB WHERE (DATEADD(YEAR,DATEDIFF(YEAR,BIRTHDAY,@STARTTIME),BIRTHDAY) BETWEEN @STARTTIME AND CASE WHEN DATEDIFF(YEAR,@STARTTIME,@ENDTIME)=0 THEN @ENDTIME ELSE DATEADD(YEAR,DATEDIFF(YEAR,'19001231',@STARTTIME),'19001231') END) OR (DATEADD(YEAR,DATEDIFF(YEAR,BIRTHDAY,@ENDTIME),BIRTHDAY) BETWEEN CASE WHEN DATEDIFF(YEAR,@STARTTIME,@ENDTIME)=0 THEN @ENDTIME ELSE DATEADD(YEAR,DATEDIFF(YEAR,'19000101',@ENDTIME),'19000101') END AND @ENDTIME)
select name from tb where month(Birthday)=month(dateadd(mm,1,getdate())
select name from tb where month(Birthday)=month(dateadd(mm,1,getdate()))
select * from tb where month(dateadd(m,1,getdate()))=month(Birthday)
select * from tb where datediff(mm,Birthday,dateadd(mm,1,getdate))=0
from tb
where datediff(mm,Birthday,dateadd(mm,1,getdate))=0
select * from 表 where dateadd(mm,1,getdate())=生日
DECLARE @STARTTIME DATETIME
SET @STARTTIME='开始日期'
DECLARE @ENDTIME DATETIME
SET @ENDTIME='截止日期'
SELECT *
FROM TB
WHERE (DATEADD(YEAR,DATEDIFF(YEAR,BIRTHDAY,@STARTTIME),BIRTHDAY) BETWEEN @STARTTIME
AND CASE WHEN DATEDIFF(YEAR,@STARTTIME,@ENDTIME)=0
THEN @ENDTIME
ELSE DATEADD(YEAR,DATEDIFF(YEAR,'19001231',@STARTTIME),'19001231')
END)
OR (DATEADD(YEAR,DATEDIFF(YEAR,BIRTHDAY,@ENDTIME),BIRTHDAY) BETWEEN
CASE WHEN DATEDIFF(YEAR,@STARTTIME,@ENDTIME)=0
THEN @ENDTIME
ELSE DATEADD(YEAR,DATEDIFF(YEAR,'19000101',@ENDTIME),'19000101')
END AND @ENDTIME)
from tb
where datediff(mm,Birthday,dateadd(mm,1,getdate))=0