mssql sqlserver 根据”出生年月日”获取年龄的方法分享


摘要:
下文通过举例的方式讲述根据”出生年月日”计算年龄的方法分享,如下所示:
实验环境:sql server 2008 R2



实现思路:
使用日期差函数datediff计算出”出生日期和当前日期”的月份差,然后和12整除,得到的数为年数,
然后再将”出生日期和当前日期”的月份差,然后和12求余数,得出当前的月份数,返回出当前年龄的 年份和月份数

例:

    ---例1:根据指定出生日期计算年龄
     declare @maomao    datetime
     set       @maomao ='2001-8-8'
    
      ---计算年岁的方法
     select datediff(month,@maomao,getdate())/12 as [岁],
             , datediff(month,@maomao,getdate())%12 as [个月], 
    go

    ---例2:计算整张表的年龄
        select datediff(month,[出生日期列],getdate())/12 as [岁],
             , datediff(month,[出生日期列],getdate())%12 as [个月] 
          from [数据表]
    go