怎样计算年龄,要精确到日?

rgn 2004-11-13 10:54:36
怎样计算年龄,要精确到日?
...全文
350 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
rgn 2004-11-13
  • 打赏
  • 举报
回复
还是不明白,我的意思是如果出生日期是82-11-14,今天是04-11-13,年龄是21,
如果出生日期是82-11-12,今天是04-11-13,年龄是22
viptiger 2004-11-13
  • 打赏
  • 举报
回复
DATEDIFF(yy,出生日期,getdate())
--先计算出年
--然后只算DATEDIFF(dd,'2004-01-01',getdate())不就可以了;)

zanyzyg 2004-11-13
  • 打赏
  • 举报
回复


你的日期莫非是阴历的日期?

rgn 2004-11-13
  • 打赏
  • 举报
回复
这个方法我也知道,但是每四年就有一年是闰年,那样就算不准年龄了
victorycyz 2004-11-13
  • 打赏
  • 举报
回复

算出“日龄”:

select datediff(day,birthday,getdate()) from tablename
viptiger 2004-11-13
  • 打赏
  • 举报
回复
DATEDIFF(dd,出生日期,getdate())

可以算出多少天

除365 就是年
zhang_yzy 2004-11-13
  • 打赏
  • 举报
回复
这个问题很有趣呀
不好写呀,用一个SQL语句写起来太麻烦了
zanyzyg 2004-11-13
  • 打赏
  • 举报
回复

你也可以精确到秒,呵呵,至于当前的时间点或者当天的,看你自己决定了,>,>=

zanyzyg 2004-11-13
  • 打赏
  • 举报
回复

原来好像讨论过这么一个类似的问题吧

select datediff(year,dt,getdate())+case when datediff(day,dateadd(year,datediff(year,dt,getdate()),dt),getdate())>0 then 0 else 1 end as '年龄' from tabletest
rgn 2004-11-13
  • 打赏
  • 举报
回复
怎样用代码实现呢
victorycyz 2004-11-13
  • 打赏
  • 举报
回复
先按"年"比较,再看“月日”,如果大于当前时间的“月日”,就减一年。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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