在MSSQL数据库中如果用
datapart(WW,'2010-8-16') 返回来的是34周
而使用VB的datadiff函数计算
datadiff("WW","2010-1-1","2010-8-16")返回来的是33周到底已谁为准啊.并且我手机上的日期也是写的是33周.
不知datapart是怎么计算的

解决方案 »

  1.   

    SELECT datepart(WW,'2010-1-1')
    --1
    SELECT datepart(WW,'2010-8-16')
    --34
    SELECT datediff(WW,'2010-1-1','2010-1-1')
    --0
    SELECT datediff(WW,'2010-1-1','2010-1-3')
    --1
    SELECT datediff(WW,'2010-1-1','2010-8-16')
    --33
      

  2.   

    '2010-8-16'是在当前年的第34周
    "2010-1-1"是在当前年的第1周
    他俩之差当然是33周select D1 = datepart(ww,'2010-8-16'),D2 = datepart(ww,'2010-1-1'),D3 = datediff(ww,'2010-1-1','2010-8-16')
    /*
    D1          D2          D3
    ----------- ----------- -----------
    34          1           33(1 行受影响)
    */
      

  3.   


    datapart(WW,'2010-8-16') 返回2010年的第几个周
    datadiff("WW","2010-1-1","2010-8-16")返回这两个日期相差多少个周