-----根据身份证计算快要退休的人员,以及离退休还有多久

select DATEDIFF(DAY,TXdate,GETDATE()) AS TXday,b.dpartName,t.* from (
select uSex,uId,uRealName,uName,uDepart,
cast(CONVERT(varchar(10),substring(uCode,7,8), 120) AS date ) uCodedate1,
case when uSex =0 and uHRRole != ‘M‘ then dateadd(yy,50,cast(CONVERT(varchar(10),substring(uCode,7,8), 120) AS date ))
     when uSex =1 then dateadd(yy,60,cast(CONVERT(varchar(10),substring(uCode,7,8), 120) AS date ))
     when uSex =0 and uHRRole != ‘M‘ then dateadd(yy,55,cast(CONVERT(varchar(10),substring(uCode,7,8), 120) AS date ))
     else GETDATE()  end  AS TXdate, 
(DATEDIFF(DAY,cast(CONVERT(varchar(10),substring(uCode,7,8), 120) AS date ),GETDATE())) daydate
 FROM UserInfo  WHERE uState=1 and LEN(uCode)>15    
 AND ( (uSex=0 and uHRRole != ‘M‘ AND (year(getdate())- year(cast(CONVERT(varchar(10),substring(uCode,7,8), 120) AS date )) >=50)) 
    OR (uSex=1 AND (year(getdate())- year(cast(CONVERT(varchar(10),substring(uCode,7,8), 120) AS date )) >=60)) 
    OR (uHRRole = ‘M‘ and uSex=0 AND (year(getdate())- year(cast(CONVERT(varchar(10),substring(uCode,7,8), 120) AS date )) >=55))
    ) 
) AS t 
left join System_Dparts AS b on t.uDepart=b.dpartId

字段描述

uCode:身份证号;

uHRRole:职级。M级的女员工是55岁退休。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值