2009-10-27 66 views
0

在Sql server 2000上工作。我想獲取當前服務器的日期和時間,然後想要將它與我的表列EntryDate進行比較。如何?如何比較服務器時間

Declare @id datetime 

Select @id = DATEPART(hour,GETDATE()) 

SELECT [Name],[BirthDate],[Email] 
FROM Customers3 where BirthDate<[email protected] AND BirthDate>[email protected] 

想要得到的範圍值,像@ ID = 10。我想獲得其之間有9〜10

回答

0

您需要沿着DatePart()這樣的查詢使用查詢:

Declare @id datetime 

Select @id = DATEPART(hour,GETDATE()) 

SELECT [Name],[BirthDate],[Email] 
FROM Customers3 
where DatePart(HOUR,BirthDate) between @id-1 AND @id 
+0

雖然這可行,但如果在出生日期列上有索引 - 由於在比較之前對列執行功能,您的查詢將不會使用它。 – 2009-10-27 05:23:02

3

使用這些值:

WHERE t.birthdate BETWEEN DATEADD(hh, -1, GETDATE()) AND GETDATE() 

參考:DATEADD