34,590
社区成员
发帖
与我相关
我的任务
分享
select *
from 表
where (datediff(day,getdate(), dateadd(year,CASE WHEN Sex='男' then 55 else 50 end,birthday)) between 0 and 30
or datediff(day,getdate(),birthday) between 0 and 30 )
-- 30天内退休员工提醒
select *
from [表名]
where datediff(dd,getdate(),dateadd(yy,case 员工性别
when '男' then 55
when '女' then 50 end,出生日期)) between 0 and 30
-- 30天内生日提醒
select *
from [表名]
where datediff(dd,
getdate(),
stuff(convert(varchar,出生日期,23),1,4,rtrim(year(getdate())))
) between 0 and 30
SELECT CASE WHEN 性别 = 0
THEN CONVERT(VARCHAR(10),DATEADD(DAY, -1,
DATEADD(DAY,
1 - DATEPART(DAY,
DATEADD(year, 55, 出生年月日)),
DATEADD(year, 55, 出生年月日))),23)
ELSE CONVERT(VARCHAR(10),DATEADD(DAY, -1,
DATEADD(DAY,
1 - DATEPART(DAY,
DATEADD(year, 55, 出生年月日)),
DATEADD(year, 55, 出生年月日))),23)
END AS [提醒日期]--假设性别=0为男性
表