已知期间变量:@periodid,格式为:2013-07
现在需要获取这个期间的第一天和最后一天,SQL代码该如何写?

解决方案 »

  1.   

    DECLARE  @periodid  NVARCHAR(20)
    SELECT @periodid='2013-07'
    SELECT CONVERT(NVARCHAR(20),DATEADD(MONTH,-1,DATEADD(MONTH,1,CONVERT(DATETIME,@periodid+'-01'))),23)
    --2013-07-01
    SELECT CONVERT(NVARCHAR(20),DATEADD(DAY,-1,DATEADD(MONTH,1,CONVERT(DATETIME,@periodid+'-01'))),23)
    --2013-07-31
      

  2.   

    select @periodid+'-01' as 'First Day'
          ,DateAdd(Day,-1,DateAdd(month,1,@periodid+'-01')) as 'Last Day'
      

  3.   

    @periodid的数据类型是datetime哦
      

  4.   

    declare @periodid datetime,@startDate datetime,@endDate datetime
    SET @periodid='2013-07-15'
    set @startDate = DATEADD(day,-DATEPART(DAY,@periodid)+1,@periodid)
    set @endDate = DATEADD(day,-1,DATEADD(mm,1,@startDate))
    select @startDate,@endDate
      

  5.   

    已知期间变量:@periodid,格式为:2013-07,数据类型是datetime
    现在需要获取这个期间的第一天和最后一天,SQL代码该如何写?