SQL通过身份证获取信息

SELECT t.identity_number '身份证号',SUBSTR(t.identity_number,1,2) AS "省份",
SUBSTR(t.identity_number,7,8) "出生年月",
CASE (SUBSTR(t.identity_number,17,1)%2)
WHEN 1 THEN '男'
WHEN 0 THEN '女'
END AS '性别'
FROM user t ;

 

 

 

 


case
when LENGTH(identity_number) = 15 then
case
when substr(identity_number, 15, 1) in (1, 3, 5, 7, 9) then
'男'
else
'女'
end
when LENGTH(identity_number) = 18 then
case
when substr(identity_number, 17, 1) in (1, 3, 5, 7, 9) then
'男'
else
'女'
end
end as sex,
case
when LENGTH(identity_number) = 15 then
round(datediff(current_date(),
concat('19',
substr(identity_number, 7, 2),
'-',
substr(identity_number, 9, 2),
'-',
substr(identity_number, 11, 2))) / 365)
when LENGTH(identity_number) = 18 then
round(datediff(current_date(),
concat(substr(identity_number, 7, 4),
'-',
substr(identity_number, 11, 2),
'-',
substr(identity_number, 13, 2))) / 365)
end as age

posted @   0xcafedaddy  阅读(1088)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示