Toon posts:

SQL vraagje

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb hier een tabel met abonnementen
een van de velden in die table (TBL_ABONNEMENT) is het veld
ABON_DATUM_EXPIRATIE.
Nu wil ik alle abonnementen hebben die tussen nu en 2 maanden verder expireren...

iemand die me op weg kan helpen?

Thnx!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 13:51

Janoz

Moderator Devschuur®

!litemod

En dat veld is gewoon van het type datum neem ik aan?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

select bla from abo's where datum > nu and datum < nu+(2 maanden);

En de rest moet je toch echt zelf kunnen bedenken met allerlei leuke data functies die je database vast wel heeft?

Verwijderd

Topicstarter
Yah...type datum inderdaad

Verwijderd

Topicstarter
OK...maar hoe krijg ik die "NU"? als variabele dus...
en die NU + 2 maanden...

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 10 september 2001 09:18 schreef Tux_NL het volgende:
OK...maar hoe krijg ik die "NU"? als variabele dus...
SYSDATE / CURDATE / NOW() / NOW

kweenie hoe dat in jouw database heet?

  • Onno
  • Registratie: Juni 1999
  • Niet online
Op maandag 10 september 2001 09:16 schreef ACM het volgende:
select bla from abo's where datum > nu and datum < nu+(2 maanden);
Heeft 'between' gezondigd? :)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 10 september 2001 09:20 schreef Onno het volgende:
Heeft 'between' gezondigd? :)
Neuh.
Daar dacht ik niet aan :)

Verwijderd

Topicstarter
ok....
GETDATE() doet het...

maar hoe krijg ik de datum van 2 maanden verder?

Verwijderd

Topicstarter
Misschien nog wel even handig om te vermelden.
Dit had ik maar levert niet echt de gewenste output:

SELECT *

FROM TBL_ABONNEMENT

WHERE DATEDIFF(month, ABON_DATUM_EXPIRATIE, GETDATE()) < 2

Verwijderd

Topicstarter
Naja heb in plaats van 2 maanden maar 61 dagen genomen :)

statement uit vorige reply is ook maar vervangen door het statement van ACM...

thnx...

  • maxrebo
  • Registratie: November 2000
  • Laatst online: 22:34

maxrebo

 

In plaats van datediff kan je beter dateadd gebruiken
krijg je iets van between getdate() and Dateadd(m,2,getdate())
Pagina: 1