select '小孩有'+cast(month(getdate())-month(createtime) as char(2))+'岁' from tb_sms_mo_2
我想通过小孩的出生日期来判断到现在为止多大了!

解决方案 »

  1.   

    select datediff(year,birthdate,getdate())
      

  2.   

    select '小孩有'+rtrim(datediff(yy,createtime,getdate()))+'岁' from tb_sms_mo_2 
      

  3.   

    用CONVERT(VARCHAR(20),DATADIFF(YEAR,CRAETETIME,GERDATE()))select '小孩有'+CONVERT(VARCHAR(20),DATEDIFF(YEAR,CRAETETIME,GERDATE()))+'岁' from tb_sms_mo_2 
      

  4.   

    如果还要算月份的话
    select '小孩有'
    +case datediff(yy,createtime,getdate()) when 0 then '' else rtrim(datediff(yy,createtime,getdate()))+'岁' end
    +case datediff(m,createtime,getdate())%12 when 0 then '' else rtrim(datediff(m,createtime,getdate())%12)+'个月' end
    +'大了'
    from tb_sms_mo_2 
      

  5.   

    select 
      '小孩有'+rtrim(datediff(yy,createtime,getdate()))+'岁' 
      +ltrim(datediff(mm,createtime,getdate())%12)+'个月'
    from 
      tb_sms_mo_2
      

  6.   

    select 
    case when datediff(mm,createtime,getdate())<12 then '小孩有'+rtrim(datediff(dd,createtime,getdate()))+'天'
         else     
         '小孩有'+rtrim(datediff(yy,createtime,getdate()))+'岁' 
         +ltrim(datediff(mm,createtime,getdate())%12)+'个月'
         end
    from 
      tb_sms_mo_2