我有一個C#程序將作爲Windows計劃任務運行。該程序將加載,運行SQL查詢,通過電子郵件發送存儲在數據集中的結果,然後關閉。除了使用Yesterdays日期之外,我擁有一切。如何將昨天的日期分配給參數C#
這裏是我當前的查詢:
SELECT Store_Id, Paid_Out_Amount, Paid_Out_Comment, Paid_Out_Datetime, Update_UserName, Till_Number, @startdate AS Start, @enddate AS Today
FROM Paid_Out_Tb
WHERE (Store_Id = 1929) AND (Paid_Out_Datetime BETWEEN @startdate AND @enddate)
很顯然,我需要在查詢的時間分配@startdate和@EndDate。因爲我需要12AM到1159PM這是開始和結束的原因。舉個例子。如果我想今天運行程序,它會搜索昨天(23日),所以@startdate將被分配7/22/12 00:00:00和@ enddate將被分配7/22/12 23:59:59 .. 。
在查詢而不是程序中做它更合理嗎?如果是這樣,我將如何更改查詢?
不要之間使用的。請閱讀http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/what-do-between-and-the-devil-have-in-common.aspx和http://sqlblog.com/。 blog/aaron_bertrand/archive/2009/10/16/bad-habits-to-kick-mishandling-date-range-queries.aspx – 2012-07-23 17:15:08