4 messages in com.mysql.lists.mysql-dere: rechnen mit datum| From | Sent On | Attachments |
|---|---|---|
| Alex | 15 Jan 2004 10:20 | |
| RICH...@qvc.com | 15 Jan 2004 10:35 | |
| Alex | 15 Jan 2004 11:00 | |
| Gregor Hermens | 15 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
-- Deutsche MySQL Mailingliste Listenarchive: http://lists.mysql.com/mysql-de Abbestellen (unsubscribe): http://lists.mysql.com/mysql-de?unsub=RICH...@qvc.com




