如何取出当前日期的近三个月的一个时间段时间

kevinjay567 2010-07-01 10:37:10
比如当前日期是 2010年6月18日,取前三个月的日期,即 (start_date)2010年3月1日,(end_date)2010年5月31日
当前日期是2010年7月1日,则(start_date)2010年4月1日,(end_date)2010年6月30日
如果是2010年2月27日,则(start_date)2009年11月1日,(end_date)2010年1月31日
是否用dateadd(),但是发现没有达到预期效果。

declare @dt datetime,@start_date datetime,@end_date datetime;
set @dt=getdate();
set @start_date=dateadd(mm,-3,getdate())
...全文
177 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQL_Hhy 2010-07-01
  • 打赏
  • 举报
回复
where
between dateadd(mm,datediff(mm,0,@d)-3,0)
and dateadd(dd,-1,dateadd(mm,datediff(mm,0,@d),0))
Mr_Nice 2010-07-01
  • 打赏
  • 举报
回复
declare @dt			datetime
declare @start_date datetime
declare @end_date DATETIME

set @dt='2010-7-17'

set @start_date=DATEADD(dd,-datepart(d,@dt)+1,DATEadd(mm,-3,@dt))
SELECT @start_date


set @end_date=DATEADD(dd,-1,DATEADD(mm,3,@start_date))
SELECT @end_date
SQL_Hhy 2010-07-01
  • 打赏
  • 举报
回复

declare @d datetime
set @d='2010-06-27'
select dateadd(mm,datediff(mm,0,@d)-3,0),dateadd(dd,-1,dateadd(mm,datediff(mm,0,@d),0))
/*

----------------------- -----------------------
2010-03-01 00:00:00.000 2010-05-31 00:00:00.000

(1 行受影响)


*/
luoyoumou 2010-07-01
  • 打赏
  • 举报
回复
-- 更严格的查询要求应该是:
where date_column >= last_day(add_months(trunc(sysdate),-4))+1
and date_column < last_day(add_months(trunc(sysdate),-3))+1;
dawugui 2010-07-01
  • 打赏
  • 举报
回复
select convert(varchar(7),dateadd(mm,-4,getdate()),120) + '-01' + '--'
+
convert(varchar(10),cast(convert(varchar(7),getdate(),120) + '-01' as datetime) - 1,120)

/*

----------------------
2010-03-01--2010-06-30

(所影响的行数为 1 行)
*/
luoyoumou 2010-07-01
  • 打赏
  • 举报
回复
where date_column >= last_day(add_months(trunc(sysdate),-4))+1
and date_column <= last_day(add_months(trunc(sysdate),-3));
kevinjay567 2010-07-01
  • 打赏
  • 举报
回复
感谢各位。
select cast(convert(varchar(7),dateadd(mm,-3,getdate()),120) + '-01' as datetime) as start_date,
cast(convert(varchar(10),cast(convert(varchar(7),getdate(),120) + '-01' as datetime) - 1,120) as datetime) as end_date

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧