Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Alle Einträge in einem Zeitraum (https://www.delphipraxis.net/78186-alle-eintraege-einem-zeitraum.html)

Eichhoernchen 30. Sep 2006 14:10

Datenbank: Mysql • Version: 4.x • Zugriff über: Php

Alle Einträge in einem Zeitraum
 
Hi,

ich bin ziemlicher Datenbank anfänger und irgendwie blick ich nicht ganz durch die Datumsfunktionen von MYSQL durch. Ich habe folgendes:
Eine Tabelle, die unter anderem ein Geburtsdatum enthält von type DATE. nun möchte ich gern mit einem Query alle Einträge bekommen von denen die in 7 Tagen geburtstag haben, ich habe folgedes versucht:

SQL-Code:
SELECT * FROM `steckbriefe` WHERE DATEDIFF(EXTRACT(MONTH_DAY FROM CURRENTDATE()), EXTRACT(MONTH_DAY FROM `geburtstag`)) <= 7;
OKAY, das mit dem <= 7 stimmt nicht so ganz das müsste irgendwie zwischen 1 und 7 heißen.. gibt es da einen operator für?

Aber das gnaze klappt nicht... ich weiß nicht warum... weiß jemand rat?

mkinzler 30. Sep 2006 14:16

Re: Alle Einträge in einem Zeitraum
 
Kennt MYSQL kein BETWEEN?

Eichhoernchen 30. Sep 2006 14:54

Re: Alle Einträge in einem Zeitraum
 
wie gesagt, ich hab nicht wirklich Ahnung von Datenbanken, nach Between hab ich auch schon in der MySql referenz gesucht, hab aber kein Anwendungsbeispiel gefunden...

geht das so:


SQL-Code:
... BETWEEN 1, 7

Aber ich glaub nicht, dass das der Hauptfehler ist, ich glaub irgendwie die Datumsberechnung ist in nem falschen Syntax oder die falschen Befehle.

mkinzler 30. Sep 2006 15:13

Re: Alle Einträge in einem Zeitraum
 
SQL-Code:
SELECT * FROM `steckbriefe` WHERE (datum- CURRENT_DATE()) between 0 and 6

marabu 30. Sep 2006 15:15

Re: Alle Einträge in einem Zeitraum
 
Geburtstag hat man in der Regel öfter als einmal im Leben - vielleicht dann besser so:

SQL-Code:
SELECT * FROM steckbriefe WHERE (DayOfYear(geburtstag) - DayOfYear(CURRENT_DATE)) BETWEEN 0 and 6
Grüße vom marabu

mkinzler 30. Sep 2006 15:19

Re: Alle Einträge in einem Zeitraum
 
Stimmt :wall:

Eichhoernchen 30. Sep 2006 15:24

Re: Alle Einträge in einem Zeitraum
 
danke euch schonmal!


Ich werde es gleich ausprobieren!


EDIT:

Zitat:

Zitat von marabu
SQL-Code:
SELECT * FROM steckbriefe WHERE (DayOfYear(geburtstag) - DayOfYear(CURRENT_DATE)) BETWEEN 0 and 6

klappt, dankeschön!

was ist wenn heute der 31.12 wäre und man hätte am 2.1 gb, das würde nicht klappen, Richtig?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz