加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 在TSQL中,你如何从int转换为datetime并给出年龄?

发布时间:2020-12-12 07:30:39 所属栏目:MsSql教程 来源:网络整理
导读:什么是以下的SQL, 我在int领域有一个出生日期, 即YYYYMMDD = 19600518 我想得到这个年龄. 解决方法 其他答案都没有实际计算年龄.他们正在计算年度边界而不考虑生日. 要计算年龄,您需要执行以下操作: DECLARE @d DATETIMESET @d = CONVERT(DATETIME,CONVERT(V
什么是以下的SQL,

我在int领域有一个出生日期,

即YYYYMMDD = 19600518

我想得到这个年龄.

解决方法

其他答案都没有实际计算年龄.他们正在计算年度边界而不考虑生日.

要计算年龄,您需要执行以下操作:

DECLARE @d DATETIME
SET @d = CONVERT(DATETIME,CONVERT(VARCHAR(8),19600518),112)

SELECT DATEDIFF(year,@d,GETDATE())
    - CASE WHEN DATEADD(year,DATEDIFF(year,GETDATE()),@d) <= GETDATE()
           THEN 0 ELSE 1 END AS Age

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读