IdentityNumber 是身份证号

年龄:

 FLOOR(DATEDIFF(DY, substring(b.IdentityNumber,7,4), GETDATE()) / 365.25)   as '推荐人年龄',

15位的身份证计算年龄:

case 
 when b.IdentityNumber IS null  or b.IdentityNumber=''  then ''
 when len(b.IdentityNumber)=18 and dbo.IsvalidIDCard(b.IdentityNumber)=1 then CAST(DATEDIFF(YEAR, substring(b.IdentityNumber,7,4), GETDATE()) AS nvarchar(20))
 when len(b.IdentityNumber)=15 and dbo.IsvalidIDCard(b.IdentityNumber)=1  then CAST(DATEDIFF(YEAR,'19'+substring(b.IdentityNumber,7,2), GETDATE()) AS nvarchar(20))
 else '' end  as '推荐人年龄',

 

 

性别:

case when (len(b.IdentityNumber)=18 and cast(substring(b.IdentityNumber,17,1) as int)%2=1)
                 or( len(b.IdentityNumber)=15 and cast(right(b.IdentityNumber,1) as int)%2=1) then  ''
          when (len(b.IdentityNumber)=18 and cast(substring(b.IdentityNumber,17,1) as int)%2=0)
                 or( len(b.IdentityNumber)=15 and cast(right(b.IdentityNumber,1) as int)%2=0) then  ''
            else '' end   as '推荐人性别',

 

相关文章:

  • 2021-11-17
  • 2022-12-23
  • 2022-12-23
  • 2021-07-25
  • 2021-11-30
  • 2021-12-19
  • 2022-12-23
  • 2021-12-04
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
  • 2021-12-14
  • 2022-12-23
相关资源
相似解决方案