none
怎样算时间差,如 相差 1年7个月1小时2分3秒 RRS feed

  • 问题

  • --时间差异
    declare @d1 datetime,@d2 datetime
    select @d1='2010-08-20 12:45:50',@d2='2012-03-20 13:47:53'
    select datediff(year,@d1,@d2) yearDiff
    
    /*
    yearDiff
    -----------
    2
    
    (1 行受影响)
    
    
    */
    --
    --直接用DateDiff得到的结果很奇怪,比如上面,说是相差两年.太简单化了.
    --其实想要的正确的结果是 1年7个月1小时2分3秒 ,有没有简单一点的办法?
    
    
    
    -- http://topic.csdn.net/u/20100824/10/1296239e-fa53-4037-9cd9-e61019702636.html
    


    hello
    2010年11月24日 6:09

答案

  • 没有直接的办法

    你可以计算秒,然后再自己算 具体时间

    declare @d1 datetime,@d2 datetime
    select @d1='2010-08-20 12:45:50',@d2='2012-03-20 13:47:53'
    select datediff(SECOND,@d1,@d2) yearDiff

    你把秒转换一下就好了。

     


    family as water
    2010年11月24日 7:08

全部回复

  • 没有直接的办法

    你可以计算秒,然后再自己算 具体时间

    declare @d1 datetime,@d2 datetime
    select @d1='2010-08-20 12:45:50',@d2='2012-03-20 13:47:53'
    select datediff(SECOND,@d1,@d2) yearDiff

    你把秒转换一下就好了。

     


    family as water
    2010年11月24日 7:08
  • 我在2008 r2上测试,没有问题
    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年11月24日 7:38
    版主
  • 我在2008 r2上测试,没有问题

    不知上面的两位有没有实际试过?

    要得到下面的结果,只用datediff是肯定不行的吧. 感觉非常复杂.实际试一下吧!

    1年7个月1小时2分3秒

    hello
    2010年11月24日 8:27
  • 真心观摩学习。
    求上海地区英语好的SQL Server人才,onsite微软。 MSN:sunyismsn@hotmail.com
    2010年11月24日 9:22