Du har sikkert defineret udløbsdato
som en datetime-værdi, hvilket betyder, at dine sammenligninger er forkerte. for eksempel. du skal bruge
VÆLG ... WHERE date(udløbsdato) =dato(nu() + interval 7 dage)
i stedet (bemærk indpakningen af +7 dagen i en date()
operation.
f.eks.
Givet en tabel med en dato og et datetime felt:
+-------------+---------------------+| d | dt |+------------+---------------------+| 28-06-2013 | 2013-06-28 08:23:03 |+----------------+--------------------------+
Læg mærke til, hvordan sammenligningen kommer ud:
mysql> vælg d=nu(), d=dato(nu()), dt=nu(), dt=dato(nu()), nu() fra x;+---- -----+----------------+----------+----------------+ ----------------------+| d=nu() | d=dato(nu()) | dt=nu() | dt=dato(nu()) | nu() |+--------+--------------+--------+-------- -----------------------------------+| 0 | 1 | 0 | 0 | 2013-06-28 08:26:20 |+--------------+-----+- ---------------+----------------------------+1 række i sæt (0,00 sek.)
dato v.s. datetime =falsk
dato v.s. dato =sand
datetime v.s. datetime =false (tt:mm:ss stemmer ikke overens, så ikke ens)
datetime v.s. dato =falsk (dato er udvidet til åååå-mm-tt 00:00:00 og tt:mm:ss stemmer ikke overens