4 messages in com.mysql.lists.mysql-dere: rechnen mit datum
FromSent OnAttachments
Alex15 Jan 2004 10:20 
RICH...@qvc.com15 Jan 2004 10:35 
Alex15 Jan 2004 11:00 
Gregor Hermens15 Jan 2004 11:09 
Subject:re: rechnen mit datum
From:RICH...@qvc.com (RICH@qvc.com)
Date:01/15/2004 10:35:48 AM
List:com.mysql.lists.mysql-de

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)"
<mysq@lists.mysql.com> 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