我想要做的是從SQL的日期是在一定範圍內,但其工作不正常,這裏是我的查詢得到的結果。TSQL日期時間比較
DECLARE @CurrDate DATETIME
SET @CurrDate = GETDATE()
SELECT dbo.ProductDetails.PartnerID
,dbo.ProductDetails.ProductID
,dbo.Products.ProductName
,StartDate
,EndDate
FROM dbo.ProductDetails
INNER JOIN dbo.Products
ON dbo.ProductDetails.ProductID = dbo.Products.ProductID
WHERE CONVERT(VARCHAR(10),StartDate,111) <= @CurrDate
AND CONVERT(VARCHAR(10),EndDate, 111) >= @CurrDate
但當Enddate = @CurrDate
行不顯示,但如果我作出這樣的日期僅僅一天更高它就會顯示出來。我做錯了什麼?任何建議都可以,謝謝。
但這並沒有考慮到'GetDate()'也提供了一個時間,對吧?你必須在那裏做同樣的轉換... – codeling 2011-12-19 13:52:24
是的,我做了那裏的轉換,現在它正在工作。 謝謝! – johnnie 2011-12-19 13:56:40
如果使用SQL 2008,可以這樣做:'Cast(StartDate as Date)' – 2013-04-05 22:32:12