急求一sql函数

hyowner 2010-01-20 02:20:46
sqlserver2000有根据身份证算出当前年龄的函数吗?或有什么语句能算出的吗?在线等待
...全文
100 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyowner 2010-01-20
  • 打赏
  • 举报
回复
已经解决 谢谢!!
  • 打赏
  • 举报
回复
create   table   test   (a   varchar(20)   )   
go
insert test values ('130455721010003')
insert test values ('130455197211100013')
insert test values ('124235197301110034')
go

alter table test add b as convert(datetime,case when len(a)=18 then substring(a,7,8) else '19'+substring(a,7,6) end,120)
go
select * from test
hyowner 2010-01-20
  • 打赏
  • 举报
回复
我运行你的老报错额
  • 打赏
  • 举报
回复
year(getDate())-year("出生年月") 即可得到该人的年龄
hyowner 2010-01-20
  • 打赏
  • 举报
回复
datediff是什么意思
  • 打赏
  • 举报
回复
建议到MS-SQL Server板块问下。
hyowner 2010-01-20
  • 打赏
  • 举报
回复
楼上的能解释下吗?
  • 打赏
  • 举报
回复
 declare   @Birtyday   smalldatetime   
set @Birtyday ='2010-01-20'
--set @Birtyday =getdate()
select datediff(year,@Birtyday,getdate())
- case when datediff(day,dateadd(year,datediff(year,@Birtyday,getdate()),@Birtyday),getdate()) >= 0 then 0
else 1 end
hyowner 2010-01-20
  • 打赏
  • 举报
回复
不对额
summily 2010-01-20
  • 打赏
  • 举报
回复
帮顶 估计2楼的行
hyowner 2010-01-20
  • 打赏
  • 举报
回复
谢谢楼上的 我试试先
老紫竹 2010-01-20
  • 打赏
  • 举报
回复
select case length(idcode) when 15 then '19'+substr(idcode,6,2) when 18 then substr(idcode,6,4) end


随便写了一个,你参考吧!
老紫竹 2010-01-20
  • 打赏
  • 举报
回复
为啥不自己算呢?
增加一个字段,保存出生的年份!

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧