hi
Wenn du es so wie unten machst, würde ich ein OR statt AND nehmen,
da:
1982 - 1980 = 2
1980 - 1982 = -2
2 >= AND -2 <= false
Da aber MySQL 'and' optimiert hat und 'or' nicht würde ich es eher so
machen:
SELECT name FROM tabelle WHERE 'YEAR(gebdat)' -
'YEAR($active_user_gebdat)' > -5 AND 'YEAR(gebdat)' -
'YEAR($active_user_gebdat)' < 5
oder gleich
SELECT name FROM tabelle WHERE 'YEAR(gebdat)' -
'YEAR($active_user_gebdat)' between -5 AND 5
mit Gruß,
Richard Stracke
Alex
<idioms@freenet. An: "ML MySQL dt.(freenet)"
<mysql-de@stripped>
de> Kopie: (Blindkopie: RICHARD
STRACKE/QVCDE)
Thema: rechnen mit datum
15.01.2004 19:20
hi liebe liste,
ich habe eine tabelle mit folgenden spalten:
gebdat --> vom typ DATE --> bsp: 1982-10-06
name --> typ VARCHAR(255) --> bsp: hugo
ausserdem ist eine variable mit folgendem wert vorhanden:
$active_user_gebdat = '1980-05-03'
In einer Abfrage möchte ich nun alle user meiner tabelle heraussuchen,
die maximal +- 5 Jahre von meinem $active_user_gebdat entfernt sind.
Dies versuche ich mit folgender Abfrage:
SELECT name FROM tabelle WHERE 'YEAR(gebdat)' -
'YEAR($active_user_gebdat)' >= 5 AND 'YEAR($active_user_gebdat)' -
'YEAR(gebdat)' <= 5
Wo liegt mein Denkfehler??? Oder ist der Ansatz der falsche.
Danke für Denkanstösse
Alex
--
Deutsche MySQL Mailingliste
Listenarchive: http://lists.mysql.com/mysql-de
Abbestellen (unsubscribe):
http://lists.mysql.com/mysql-de?unsub=1