如何查找两个月的开始和结束日期?
示例:
答案 0 :(得分:1)
假设您没有SQL Server 2012或更新版本,这将起作用:
DECLARE @Date DATETIME = '09-Feb-2015'
SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0) AS Start,
DATEADD(DAY,-1,DATEADD(mm, DATEDIFF(MONTH,0,@Date)+1,0))
如果您有SQL 2012,可以使用EOMONTH:
SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0) AS Start,
EOMONTH(@Date)
<强>更新强>
在你想要双月刊的评论中添加,并假设这意味着你将这一年分为2个月的段,其中JAN / FEB作为第一对,MAR / APR是下一个,依此类推,这将有效:
SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, DATEADD(MONTH, -1+MONTH(@Date)%2, @Date)), 0) AS StartOfPeriod,
DATEADD(DAY, -1, DATEADD(mm, DATEDIFF(MONTH, 0, DATEADD(MONTH, MONTH(@Date)%2, @Date)) + 1, 0))