当前位置: 代码迷 >> Sql Server >> 求期间的第一天和最后一天解决方法
  详细解决方案

求期间的第一天和最后一天解决方法

热度:100   发布时间:2016-04-24 21:08:33.0
求期间的第一天和最后一天
已知期间变量:@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
  相关解决方案