我想獲取從某個日期到過去 10 天的資料。我已經嘗試了以下代碼,但它不起作用。
DECLARE @wrking_date DATE = '2022-02-08'
SELECT
a,
CAST(LogDate as date) as theDate,
b,c
FROM magic_table
Where b = '123'
AND @wrking_date >= DATEADD(DAY,10, GETDATE())
我做錯了什么?
編輯
我也試過添加AND LogDate between '2022-02-08' and DATEADD(DAY, -10, '2022-02-08')這個不起作用
uj5u.com熱心網友回復:
正如目前所寫的那樣,您的查詢不會根據您的AND條件進行過濾,因為它們都不GETDATE()是@wrking_date查詢表的一部分。我假設您想根據 column 進行過濾LogDate。要獲取@wrking_date10 天前和 10 天前的值,您可以使用BETWEEN:
AND LogDate BETWEEN @wrking_date AND DATEADD(DAY, -10, GETDATE())
請注意:要獲取 10 天前的日期,您需要-10在DATEADD函式中使用。
編輯
正如我從您的評論中得到的那樣,您正試圖@working_date從那里獲取定義和 10 天之間的資料。你可以通過使用這個來實作:
AND LogDate BETWEEN DATEADD(DAY, -10, @wrking_date) AND @wrking_date
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/504865.html
