我的影片讓我結果的列表爲2012年2月得到的where子句的一個月LINQ 2 SQL查詢不正確的日期比較結果在SQL Server 2008 R2
DECLARE @p0 DateTime = '2012-02-01 00:00:00.000'
DECLARE @p1 DateTime = '2012-02-29 23:59:59.999'
....
WHERE (CONVERT(DATE, [t0].[DatePlaced]) >= @p0) AND (CONVERT(DATE, [t0].[DatePlaced]) <= @p1)
在運行此我」獲得2012年3月1日的結果以及2012年2月的所有結果。
如果我將where子句更改爲使用BETWEEN
,那麼結果僅包含2月份的日期。
WHERE [t0].[DatePlaced] BETWEEN @p0 AND @p1
我正在使用.net 4和SQL Server 2008 R2(帶和不帶SP1)。
將日期切換到2011年3月1日,我的查詢結束日期爲'2011-02-28 23:59:59.999'
的結果相同。
除了使用LINQ 2 SQL不支持的BETWEEN之外,是否還有另一種獲得僅用於2/2012的結果的方法?
而不是添加計算列,我只是簡單地比較日期的月份和年份部分。我相信這是一種性能上的折衷,但它只是用於內部報告,所以目前這不是什麼大問題。 – 2012-03-11 04:47:24