[SQL] Datum in de komende 7 dagen selecten..

Pagina: 1
Acties:
  • 102 views sinds 30-01-2008
  • Reageer

  • Rarz
  • Registratie: Januari 2001
  • Laatst online: 25-08 12:39
Ik ben bezig om een dingetje te schrijven dat in de gaten houd of er van kennissen in de komende paar dagen eentje jarig is, zodat ik op tijd sociaal kan doen.. (Kaartje, etc.) ;)

SELECT * FROM personen WHERE DATEDIFF(dd, DAY(persGeboorte), DAY(getdate()) ) < 7

Dit levert ook records op van mensen die niet binnen 7 dagen van vandaag jarig zijn. (13-3-2001 bijvoorbeeld.) Vreemd genoeg is 1-1-2001 weer niet geselecteerd. (Van de proefrecords in de database). De data staan allemaal in DD/MM/YYYY format in de SQL2000 db.)

Suggesties? :)

When in question, when in doubt, run in circles, scream and shout.


  • Nazgul
  • Registratie: Februari 2000
  • Laatst online: 11-10-2022

Nazgul

Digital Pizza Crew

Gokje:

SELECT * FROM personen WHERE DATEDIFF(dd, persGeboorte, getdate() ) < 7

Bij jou neemt ie volgens mij het verschil in dagen, zonder daarbij naar de maanden en jaren te kijken.

No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced.


  • Rarz
  • Registratie: Januari 2001
  • Laatst online: 25-08 12:39
De dag klopt met die select wel, maar er word nog steeds naar jaar gekeken. Iemand die geboren is op 13-10-2000 komt niet tevoorschijn, maar op 13-10-2001 wel. (Wat wel klopt, want 13-10 is binnen 7 dagen van 'nu').. :)

When in question, when in doubt, run in circles, scream and shout.


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

effe uit de losse pols, dus niet boos worden als het niet werkt ;)
code:
1
2
3
4
5
select *
from personen
where
  datediff(dd, getdate(), dateadd(yy, datediff(yy, persGeboorte, getdate()), persGeboorte))
  between 0 and 7

Today's subliminal thought is:


  • Rarz
  • Registratie: Januari 2001
  • Laatst online: 25-08 12:39
Heee, dat werkt! Zenks! Weer iets geleerd. :) :)

When in question, when in doubt, run in circles, scream and shout.