我有一個存儲過程,使用像以下選擇,到目前爲止工作正常。 例如,在這種情況下,它選擇具有來自上個月(即2014年3月)的日期的所有記錄(列:dateEsc,格式爲nvarchar(20)
,示例日期:2014-03-25)。SQL Server:使用參數,而不是GETDATE()
我的選擇(例如):
SELECT COUNT(*) AS groupCount
FROM Log_Esc
WHERE
CONVERT(DATE, dateEsc, 120) >= CONVERT(DATE, CONVERT(VARCHAR(6), DATEADD(month, -1, GETDATE()), 112) + '01', 112)
如何做我必須要改變的,如果不是目前的日期(GETDATE()),我想用一個變量輸入的日期作爲參考這一點。 此輸入可以是任何日期,格式也爲nvarchar(20)
,例如:2014-04-03。
因此,不是從GETDATE()計算上個月與當前月份相比,我想從變量date輸入計算相同的月份。非常感謝任何幫助,Tim。
什麼用'可以轉換成(VARCHAR(6)'這部分?還有爲什麼你的日期esc列存儲爲'VARCHAR(20)'? – Zane
@贊 - 這是它如何從日期時間記錄中刪除非年/月數據 - 它是不是最好的辦法,看我的回答。 – Hogan
@Hogan,但然後將該日期轉換回日期將其返回到YYYY-MM-DD – Zane