SQL2000日期推算
SQL2000SQL日期推算
已知条件billdate是2013-03-07
1、计算本月最后一天
2013-03-31
SELECT dateadd(ms,-2,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
2、如何可以推算出上一个月的开始日期和结束日期
2013-02-01,2013-02-28
3、如何可以推算出上2个月的开始日期和结束日期
2013-01-01,2013-01-31
4、如何可以推算出上3个月的开始日期和结束日期
2012-12-01,2012-12-31
5、如何可以推算出上4个月的开始日期和结束日期
2012-11-01,2012-11-30
6、如何可以推算出上5个月的开始日期和结束日期
2012-10-01,2012-10-31
6、如何可以推算出上6个月的开始日期和结束日期
2012-09-01,2012-09-30
------解决方案--------------------declare @billdate datetime,@month int
select @billdate='2013-03-07',@month=-1
SELECT convert(varchar(8),dateadd(month,@month,@billdate),23)+'01'[开始日期],convert(varchar,dateadd(day,-1,dateadd(month,1+@month,convert(varchar(8),@billdate,23)+'01') ),23)[结束日期]
------解决方案--------------------DECLARE @a DATETIME
SET @a='2013-03-07'
SELECT DATEADD(d, DATEDIFF(D,@a,DATEADD(mm,1,@a))-DAY(@a),@a)
------解决方案--------------------@month=-1就是上1个月的。
@month=-2就是上2个月的。
@month=-3就是上3个月的。
@month=-4就是上4个月的。
@month=-5就是上5个月的。
@month=-6就是上6个月的。