如果不要很精确的话,datediff(yy,birthday,getdate())+1,如果精确的话,要在取出月,和日来比较了.用datepart().
具体见联机帮助

解决方案 »

  1.   

    select datediff(d,'1961-03-02',getdate())/365
      

  2.   

    select cast(convert(char(4),getdate(),112) as int)-cast(convert(char(4),'1961-03-02',112) as int)
      

  3.   

    算出来以后 如
    age
    30
    根据age
    aa
     1
    也就是说如果年龄是45岁以下的aa就是1
    如果是45岁以上的aa就是2
      

  4.   

    select DATEDIFF(year,'1982-10-03',getdate())
      

  5.   

    select datediff(yy,出生日期,getdate()) as age,
           aa=case when datediff(yy,出生日期,getdate())<45 then '1'
                   else '2'
              end
    from tablename