select dateadd(week,datediff(week,0,getdate()),0) 请问datediff(week,0,getdate())的0代表的什么,如果是日期的话应该是多少

解决方案 »

  1.   


    select datediff(week,0,getdate())
    declare @time datetime
    set @time = 0;
    select convert(varchar(30),@time,120)
    select datediff(week,@time,getdate())----------- 
    5741(所影响的行数为 1 行)                               
    ------------------------------ 
    1900-01-01 00:00:00(所影响的行数为 1 行)            
    ----------- 
    5741(所影响的行数为 1 行)
      

  2.   

    select dateadd(week,datediff(week,0,getdate()),0) select dateadd(week,datediff(week,'1900-1-1',getdate()),0) 
      

  3.   

    select dateadd(week,datediff(week,0,getdate()),0) 
    -----------------------
    2010-01-11 00:00:00.000
    --等于下面的这句话
    select dateadd(week,datediff(week,'1900-1-1',getdate()),0) -----------------------
    2010-01-11 00:00:00.000
      

  4.   

    SELECT COVNERT(DATETIME,0)代表日期里面的起始日期
      

  5.   

    以datepart指定的方式,返回date2和date1之差0代表开始日期,week 表示返回的是 0~51 之间的数
      

  6.   

    有什么不懂明白,自己去查询分析器里执行代码,答案就出来了,原理了然于心了,呵呵SELECT DATEDIFF(WEEK,0,GETDATE())select dateadd(week,datediff(week,0,getdate()),0) 不懂就按F1啊,联机帮助最有用