2009-10-20 11 views
8

Moja tabela treści wygląda następująco (contentID, title, created). Muszę uzyskać wszystkie treści, które zostały utworzone ponad 3 tygodnie temu.Zapytanie sql o treści starsze niż 3 tygodnie

Baza danych serwera SQL, utworzona jest typu datetime.

+0

jakim formacie jest 'created' w? –

+0

Pomoże to, jeśli wspomniano o bazie danych. Nie jestem pewien, czy istnieje sposób ANSI tego. – Petros

+0

utworzone jest typu datetime, serwer dbl serwera. – mrblah

Odpowiedz

33

Jak o:

select contentID, title, created 
from content 
where created < dateadd(week,-3,getdate()); 

to przylgnie do pytania. 21 dni jest w porządku, oczywiście oznacza to samo, ale uważam, że dobrze jest użyć terminologii użytej w pytaniu.

Na przykład ... jakiś czas temu poproszono mnie, abym sondował średnio 1 na 50 odwiedzających witrynę. Opisałem to jako proporcję 0,02, a klient nie był zadowolony. Wskazałem klientowi, że są one takie same, ale nauczyłem się tej lekcji, a teraz, jeśli zmienię sposób, w jaki coś jest opisane, upewniam się, że komentuję ten efekt, a najlepiej, aby tego nie zmieniać w pierwszym miejsce. Jeśli klient chce 3 tygodnie, zrób to jako 3 tygodnie, a nie 21 dni.

+0

+1 Dobra argumentacja –

+0

+1, tak, dobry punkt –

+0

+1 A kiedy chcą zmienić go na 4 tygodnie, nie chcą wykonywać matematyki (chyba dlatego mamy komputery i programistów.). – JeffO

3

w MS SQL 2000/2005 można to zrobić

Select 
    contactID, 
    title, 
    created 
from 
    content 
where 
    created < getdate()-21 
+0

Powinieneś próbować trzymać się z daleka od domyślnej "dateadd (day)" matematyki. Czemu? Nowe typy danych DATE w SQL Server 2008 nie będą lubić operatorów + lub - (wystąpi błąd typu). Przez długi czas używałam GETDATE() + - INT i trzęsę się, aby samemu przełamać ten nawyk. –

0

Spróbuj tego:

select contentID, title, created from content 
where created < dateadd(day,-21,getdate()) 
+0

Jak mogę użyć tej metody dla mojego pytania tutaj: http://stackoverflow.com/questions/26021347/how-to-get-two-week-prior-data-from-a-table – SearchForKnowledge

Powiązane problemy