Проблема типа SQL DateTime - PullRequest
       0

Проблема типа SQL DateTime

0 голосов
/ 16 сентября 2010

Я использую SQL Server 2008 Enterprise.У меня есть таблица с именем Foo, и у нее есть столбец типа DateTime с именем MyTime.Я хочу найти все записи (строки), чье значение столбца MyTime прошло более 3 дней (истекло с текущего времени).Как это реализовать?

спасибо заранее, Джордж

Ответы [ 5 ]

3 голосов
/ 16 сентября 2010

Если у вас много строк, вы, вероятно, захотите удалить выражения для каждой строки, поэтому сначала выясните, какую дату вы ищете, а затем просто сравните:

DECLARE @DateExpired DATETIME
SET @DateExpired = GETDATE() - 3
SELECT * 
FROM Foo
WHERE MyTime < @DateExpired
3 голосов
/ 16 сентября 2010
WHERE myTime < DATEADD(dd,-3,getDate())
1 голос
/ 16 сентября 2010
create table #foo
(
MyTime dateTime
)

Insert Into #foo
Values ('2010-09-15')
Insert Into #foo
Values ('2010-09-14')
Insert Into #foo
Values ('2010-09-13') 
Insert Into #foo
Values ('2010-09-12')


Select * FRom #foo
Where DateAdd(day, 3, MyTime) <= '2010-09-16'

drop table #foo
1 голос
/ 16 сентября 2010

Вы можете использовать DATEADD (datepart, number, date) для вычисления:

SELECT * FROM Foo WHERE MyTime > DATEADD(dd, -3, MyTime)
1 голос
/ 16 сентября 2010

datediff (d, GetDate (), MyTime)> 3

select * from table
  where datediff(d,GetDate(),MyTime) > 3

Редактировать: Это было наоборот: P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...