sql 根据身份证判断年龄是否小于18岁


 

SELECT *, 
Age=
datediff(yy,cast(case 
when substring(PersonalId,7,1) in ('1','2')   /*若第7位不是'1'或'2'则表示是15位身份证编码规则*/
then substring(PersonalId,7,8) 
else '19' + substring(PersonalId,7,6) 
end as datetime),getdate())
FROM Student
WHERE
datediff(yy,cast(case 
when substring(PersonalId,7,1) in ('1','2') 
then substring(PersonalId,7,8) 
else '19' + substring(PersonalId,7,6) 
end as datetime),getdate()) <18

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM