在SQL服務器中,我想顯示我的報告的日期和時間段。在WHERE
子句中的時間週期低於:Sql如何從5周開始日期和結束日期
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日」
在SQL服務器中,我想顯示我的報告的日期和時間段。在WHERE
子句中的時間週期低於:Sql如何從5周開始日期和結束日期
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日」
如果我正確理解你的問題,你希望從未來的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');
是的,但我想在我的報告中顯示這5周的開始日期和結束日期。如果我把這個日期放在我的tablix中,那麼tablix會顯示每個日期值。我只會開始和結束。例如:2017年3月26日 - 2017年4月13日 –
我不認爲這就是你在問題中所暗示的。你想在'WHERE'子句中使用數值,還是要'選擇'它們? – Manngo
我想選擇他們,對我的問題抱歉我的不好解釋 –
如果你想要做的就是看日期,只需使用選擇:
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))
感謝它,bur如果我插入到我的tablix然後它並沒有停止報告。它出現運行時錯誤 –
我無法評論Tablix,我從來沒有使用過它。我建議你在適當的地方提出另一個問題。同時,如果這回答了您的問題,請接受答案。謝謝! – User632716
標籤您正在使用的數據庫管理系統。這些功能是產品特定的。 – jarlh
添加標籤sql-server – Manngo