日期:2014-05-17  浏览次数:20540 次

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

------解决方案--------------------
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
------解决方案--------------------
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