2009-10-27 4 views
0

работайте на сервере Sql 2000. Я хочу получить текущую дату и время сервера, а затем сравнить ее с таблицей столбцов EntryDate.Как сравнить время сервера

Declare @id datetime 

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

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

хотят получить от значения диапазона, как @ ид = 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

Хотя это будет работать, если в столбце даты рождения есть индекс, ваш запрос не будет использовать его из-за выполнения функции в столбце перед сравнением. –

3

Использование:

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

Ссылка: DATEADD

Смежные вопросы