[MySQL:] WHERE date > Jahreszahl

maceis

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
Hallo zusammen,

gibt es eine Möglichkeit, eine WHERE Klausel auf ein Datumsfeld so zu formulieren, dass Jahr und Monats-/Tagesbereich unabhängig voneinander formuliert werden also in etwa so (Pseudocode):

"SELECT ... WHERE date(nur Jahr) = 2008 AND date(monat-tag) >= 01-01 AND date(monat-tag) < 01-04"
Hier sollten z.B. alle Datensätze aus dem ersten Quartal 2008 ausgewählt werden.

oder:

"SELECT ... WHERE date(nur Jahr) = 2008"
Ale Datensätze aus 2008

Ich möchte das Ganze in einem Skript verwenden, das verschiedene Auswahloptionen bietet.

Danke im Voraus und Gruß
maceis
 
Das geht z.B. mit
SELECT * FROM `table` WHERE WHERE YEAR(`datumsfeld`) = 2008

oder
SELECT * FROM `table` WHERE DATE_FORMAT(`datumsfeld `,'%m-%d')='11-17'

oder auch
... WHERE DAYOFMONTH( `datumsfeld ` ) >= 1 AND DAYOFMONTH( `datumsfeld ` ) <= 20

... usw.
 
Danke. Werd' ich gleich mal testen — Funktioniert. So kann ich die Logik in meinem Perlskript schön einfach gestalten.

Anstelle von DAYOFMONTH(datumsfeld) geht übrigens auch DAY(datumsfeld) und außerdem geht MONTH(datumsfeld). Ich brauche aber im Augenblick nur YEAR und DATE_FORMAT. Genau was ich gesucht hatte.

Nochmal Danke und Gruß
maceis
 
Ja, danke. Da hätte ich auch zu Anfang selbst drauf kommen können.
Aber wie's halt manchmal so ist ;).
 
Zurück
Oben Unten