select IDcardNum,
case
when len(IDcardNum) = 15 and cast(substring(IDcardNum,15,1) as int) % 2 = 0 then ‘女’
when len(IDcardNum) = 15 and cast(substring(IDcardNum,15,1) as int) % 2 = 1 then ‘男’
when len(IDcardNum) = 18 and cast(substring(IDcardNum,17,1) as int) % 2 = 0 then ‘女’
when len(IDcardNum) = 18 and cast(substring(IDcardNum,17,1) as int) % 2 = 1 then ‘男’
else null end as 性别,*
from 表名
where (len(IDcardNum) = 15 and isnumeric(substring(IDcardNum,15,1)) = 1)
or (len(IDcardNum) = 18 and isnumeric(substring(IDcardNum,17,1)) = 1)
详细解决方案
根据身份证判断男女(通用)
热度:11 发布时间:2023-11-21 05:56:18
相关解决方案