在SQL server中,我想显示报告的日期和时间段。 WHERE
子句中的时间段如下:
WHERE EventDate >= dateadd(wk, datediff(wk, 0, getdate()) -5, 0)
AND EventDate <= dateadd(wk, datediff(wk, 0, getdate()), 0)
我该如何以“2017年3月26日 - 2017年4月13日”
的格式显示答案 0 :(得分:1)
如果我正确理解您的问题,您希望将来从5周前到5周。
您可以尝试以下方法:
-- etc
WHERE EventDate BETWEEN dateadd(week,-5,getdate()) AND dateadd(week,5,getdate());
如果您想显示日期,可以试试这个:
SELECT format(dateadd(week,-5,getdate()),'d MMM yyyy') +' - '+ format(dateadd(week,5,getdate()),'d MMM yyyy');
答案 1 :(得分:0)
如果您只想查看日期,只需使用选择:
select dateadd(wk, datediff(wk, 0, getdate()) -5, 0)
, dateadd(wk, datediff(wk, 0, getdate()), 0)
如果您想看格式:“2017年3月26日 - 2017年4月13日”:
select cast(dateadd(wk, datediff(wk, 0, getdate()) -5, 0) as varchar(20)) +
' - ' +
cast(dateadd(wk, datediff(wk, 0, getdate()), 0) as varchar(20))