Mailinglisten-Archive |
Also, so langsam komme ich aus dem Grinsen nicht mehr raus... :) Wenn Ihr wissen wollt, ob ein Datum in einem Zeitraum liegt, warum benutzt Ihr nicht einfach den Datentyp DATE (darum gings in diesem Thread ja), und laßt den SQL-Server die Daten vergleichen? SELECT * FROM Tabelle WHERE startdatum <= meindatum <= enddatum SELECT DAYOFYEAR(datum) gibt den Tag des Jahres zurück SELECT (DAYOFYEAR(datum)-DAYOFYEAR(startdatum)) gibt die Differenz zurück. Steht alles im MySQL-Manual. mfg Knut Bültemann Stop Reinvention! At 19:19 07.03.00 +0100, you wrote: >Nur mal so eine Idee: > >Wieso berechnest du nicht mit allen drei Daten die Anzahl der Tage seit >dem Jahr 1 ? >In der Datenbank kann dann ein ganz normales DATE-Feld bleiben. > >Also Tagnummer = intval (Jahr*365,2525 + Tag + Monat[Monatsnr.]) > >mit Monat[1]=0 (Januar), > Monat[2]=31 (Februar), > Monat[3]=59 (März - kein Schaltjahr), > Monat[4]=90 (April) >usw. >und Jahr vierstellig (2000 statt 00) > >Danach reicht ein einfacher Integervergleich. >Für den beschriebenen Anwendungsfall ist ja eigentlich noch nicht mal >eine Schaltjahrberücksichtigung erforderlich. > >Comments ?
php::bar PHP Wiki - Listenarchive