webForumDet fria alternativet

Datum närmre än fyra dagar

7 svar · 559 visningar · startad av Type

TypeMedlem sedan mars 20021 239 inlägg
#1

Hej
Jag har ett problem med en sql-sats.
Jag vill hämta alla poster som har ett datum (datetime är typen) som inträffar inom fyra dagar från dagens datum.

Hur fixar jag en sådan sql-sats?
Jag har ingen aning faktiskt... :(

Peter SMedlem sedan dec. 20025 483 inlägg
#2

DBMS? MySQL:

...where
 datediff(dt, now()) >= 0
  and
 datediff(dt, now()) <= 4

MSSQL:

where
 datediff(day, now(), dt) >= 0
  and
 datediff(day, now(), dt) <= 4
TypeMedlem sedan mars 20021 239 inlägg
#3

Jag har försökt med datediff men det funkar inte. det verkar som att det bara funkar i mysql 4.1.1 och jag har 4.0.18. något annat förslag?

TypeMedlem sedan mars 20021 239 inlägg
#4
SELECT * from aktiv_anmalan  WHERE (DAYOFMONTH(datum) - DAYOFMONTH(now())) >= 0 AND (DAYOFMONTH(datum) - DAYOFMONTH(now())) < 4;

Detta funkar när man inte närmar sig en ny månad. hur ska jag göra när det precis slår om?

Peter SMedlem sedan dec. 20025 483 inlägg
#5
...where
 to_days(dt) - to_days(now()) >= 0
  and
 to_days(dt) - to_days(now()) <= 4
TypeMedlem sedan mars 20021 239 inlägg
#6

jag tror inte det där kommer funka heller vid månadsskiften?

Däremot löste jag det såhär;

(DAYOFYEAR(datum) - DAYOFYEAR(now())) >=0
 and
(DAYOFYEAR(datum) - DAYOFYEAR(now())) < 4

Tack för hjälpen trots allt!

Peter SMedlem sedan dec. 20025 483 inlägg
#7

Jodå, det fungerar. :)

Vad händer om datum innehåller '2006-09-07' och now() = '2007-09-07'?

TypeMedlem sedan mars 20021 239 inlägg
#8

jo, jag vet. då funkar det inte. men det kommer inte hända.. to_days verkar iof ännu bättre.. för den tar hänsyn till det också... jag ska testa den funktionen snart. tack så mycket!

122 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)