请问大家,为什么 2011-12-31 与 2012-1-1 ,用此函数查相隔年数。为什么会是1年呢。才一天而已。
请不要说就是这么规定的。现在我想问为什么这么规定。有人知道吗。

解决方案 »

  1.   

    select datediff(year,'2011-12-31','2012-01-01') 
    既然取年部分的差值当然是1
    datediff 返回跨两个指定日期的日期和时间边界数
    比如这里的车datediff是截取年部分,算差值
      

  2.   

    你可以先从数据库取出来两个日期字符串,在C#中使用TimeSpan计算时间差。
      

  3.   

    select datediff(hour,'2011-12-31','2012-01-01')  
      

  4.   

     select datediff(hour,'2011-12-31','2012-01-01')  
      

  5.   

       datediff是用来计算两个时间的差的。  你用year  它计算的就是相差的年份。   如你上面所说。想计算它相差多少天就得用day