求期间的第一天和最后一天
已知期间变量:@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