查询本日,
查询本周,
查询本月,
查询本年,
查询某天到某天之间
的这些语句

解决方案 »

  1.   

    查询本日,  getdate()
    查询本周,     ?
    查询本月, month(getdate())
    查询本年,  year(getdate())
    查询某天到某天之间   between  '2009-08-07' and '2009-08-09'
    的这些语句
      

  2.   

    select * from tb where  datediff(dd,datetimecol,getdate())>=0
      

  3.   

    查询本日, select getdate()
    查询本周,  select datepart(dw, getdate())?
    查询本月,  select month(getdate())
    查询本年,  select year(getdate())
    查询某天到某天之间  select datediff(day, startdate, enddate)
    的这些语句
      

  4.   

    SELECT GETDATE()
    SELECT DATEPART(WEEK,GETDATE())
    SELECT DATEPART(MM,GETDATE())
    SEELCT DATEPART(YY,GETDATE())
    SELECT DATEDIFF(DD,STARTTIME,ENDTIME)联机丛书上看一下时间函数
      

  5.   

    select datepart(day,getdate()) 当日,datepart(week, getdate()) as 本周 ,
           month(getdate()) 本月,year(getdate()) 本年,datediff(day, '2009-08-01', GETDATE()) 天数 
           
           
           /*
    当日 本周 本月 本年 天数
    13 33 8 2009 12
    */
      

  6.   

    本日:select getdate()
    本周:select datepart(week,getdate())
    本月:select detepart(mm,getdate())
    本年:select detepart(year,getdate())
    查询某天到某天之间:datediff(day,@starday,@stopday)
      

  7.   

    DECLARE @dt datetime
    SET @dt=GETDATE()DECLARE @number int
    SET @number=3--1.指定日期该年的第一天或最后一天
    --A. 年的第一天
    SELECT CONVERT(char(5),@dt,120)+'1-1'--B. 年的最后一天
    SELECT CONVERT(char(5),@dt,120)+'12-31'
    --2.指定日期所在季度的第一天或最后一天
    --A. 季度的第一天
    SELECT CONVERT(datetime,
        CONVERT(char(8),
            DATEADD(Month,
                DATEPART(Quarter,@dt)*3-Month(@dt)-2,
                @dt),
            120)+'1')--B. 季度的最后一天(CASE判断法)
    SELECT CONVERT(datetime,
        CONVERT(char(8),
            DATEADD(Month,
                DATEPART(Quarter,@dt)*3-Month(@dt),
                @dt),
            120)
        +CASE WHEN DATEPART(Quarter,@dt) in(1,4)
            THEN '31'ELSE '30' END)--C. 季度的最后一天(直接推算法)
    SELECT DATEADD(Day,-1,
        CONVERT(char(8),
            DATEADD(Month,
                1+DATEPART(Quarter,@dt)*3-Month(@dt),
                @dt),
            120)+'1')
    --3.指定日期所在月份的第一天或最后一天
    --A. 月的第一天
    SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')--B. 月的最后一天
    SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')--C. 月的最后一天(容易使用的错误方法)
    SELECT DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt))
    --4.指定日期所在周的任意一天
    SELECT DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)
    --5.指定日期所在周的任意星期几
    --A.  星期天做为一周的第1天
    SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt)--B.  星期一做为一周的第1天
    SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)