Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3728|回复: 11

[已解决]用SQL提取年龄

[复制链接]
发表于 2013-11-24 22:20 | 显示全部楼层 |阅读模式
大家好!如何用SQL语句根据身份证号算出年龄,在函数里可以用DATEDIF,请问老师们在SQL语句里用哪个函数呀?
最佳答案
2013-11-25 00:20
其实不需用datevalue转换也是可以的。
  1. select 身份证号码,now as 今天日期,datediff("yyyy",  format(iif(len(身份证号码)=18,  mid(身份证号码,7,8),  "19"&mid(身份证号码,7,6)),"0000/00/00"),now) as 年龄 from [sheet1$A:A]
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-11-24 22:54 | 显示全部楼层
  1. select datediff("yyyy",datevalue(format(mid(身份证号码,7,8),"0000/00/00")),now) as 年龄 from [sheet1$A:A]
复制代码
回复

使用道具 举报

发表于 2013-11-24 22:54 | 显示全部楼层
回复

使用道具 举报

发表于 2013-11-24 22:55 | 显示全部楼层
QQ截图20131124225206.jpg
回复

使用道具 举报

发表于 2013-11-24 22:57 | 显示全部楼层
QQ截图20131124225355.jpg
18位的,15位的呆会再来改下试试。
回复

使用道具 举报

发表于 2013-11-24 23:27 | 显示全部楼层
  1. select 身份证号码,now as 今天日期,  datediff("yyyy",datevalue(format(mid(身份证号码,7,8),"0000/00/00")),now)as 年龄 from [sheet1$A:A] where len(身份证号码)=18 union all   select 身份证号码,now as 今天日期,datediff("yyyy",datevalue(format(mid(身份证号码,7,6),"1900/00/00")),now) as 年龄 from [sheet1$A:A] where len(身份证号码)<>18
复制代码
分两次做出来的,看看能改进不
回复

使用道具 举报

发表于 2013-11-24 23:30 | 显示全部楼层
  1. select 身份证号码,now as 今天日期,datediff("yyyy",  datevalue(format(iif(len(身份证号码)=18,  mid(身份证号码,7,8),  "19"&mid(身份证号码,7,6)),"0000/00/00")),now) as 年龄 from [sheet1$A:A]
复制代码
一条完成,15位,18位的都匹配。
90后按理来说应该都是18位身份证号码了。

评分

参与人数 1金币 +10 收起 理由
as0810114 + 10 花亲牛啊。

查看全部评分

回复

使用道具 举报

发表于 2013-11-24 23:33 | 显示全部楼层
QQ截图20131124233003.jpg
回复

使用道具 举报

发表于 2013-11-25 00:20 | 显示全部楼层    本楼为最佳答案   
其实不需用datevalue转换也是可以的。
  1. select 身份证号码,now as 今天日期,datediff("yyyy",  format(iif(len(身份证号码)=18,  mid(身份证号码,7,8),  "19"&mid(身份证号码,7,6)),"0000/00/00"),now) as 年龄 from [sheet1$A:A]
复制代码

评分

参与人数 1 +12 收起 理由
xiaoni + 12 很给力!,谢谢老师问题解决了,谢谢你的帮助

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-11-25 20:15 | 显示全部楼层
老师我的怎么不行呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-18 18:53 , Processed in 0.183283 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表