[mysql] Wie muß die Abfrage aussehen ?

Liebe/-r wer-weiss-was Experte,

ich weiß mir
nicht mehr zu helfen. Ich habe da so eine frage zu einem mysql/php3
problem:

Ich habe eine tabelle zum verwalten von terminen

CREATE TABLE 4kldates (
id mediumint(9) DEFAULT ‚0‘ NOT NULL auto_increment,
eintragsdatum timestamp(14),
beginndatum datetime,
enddatum datetime,
wer text NOT NULL,
was text NOT NULL,
wo text NOT NULL,
kbesch longtext,
lbesch longtext,
genre text NOT NULL,
eintritt text,
bildid smallint(6),
ranking tinyint(4) DEFAULT ‚0‘ NOT NULL,
KEY id (id)
);

Jetzt möchte ich in der spalte
beginndatum
eine abfrage machen, in der spalte steht datetime (z.B. "2000-07-31 20:45:00)

ich möchte alle reihen auslesen die an einem bestimmten tag sind,
allerdings unabhängig von der uhrzeit.

SELECT * FROM 4kldates where beginndatum = ‚2000-07-31‘ limit 0,10

funktioniert leider nicht, da der inhalt der zelle ja noch die zeit
enthält.

hat jemand einen tipp wie ich die abfrage gestalten muß damit ich nur
die termine an diesem einen tag erhalte ?

Vielen dank im voraus für deine mühe

Gruß

vinzenz

wie schon gemailt…
WHERE TO_DAYS(beginndatum) = TO_DAYS(‚2000-07-31‘)

mfg Bruno

ich hab die lösung - 1000 Dank!
Die Lösung (1000 Dank an alle aber vor allem an Amadou):

SELECT * FROM 4kldates where beginndatum like ‚2000-07-31%‘

Dank

Vinzenz

wie auch schon wieder gemailt :wink:
halte ich von dieser Lösung auch nicht arg viel.
Du führst also praktisch einen Stringvergleich mit zwei Daten durch. Programmiertechnisch nicht arg sauber, aber was geht wird ja meistens gemacht :wink:

Bruno

Hallo Bruno,
nur mal so interessehalber, warum ist der Stringvergleich programmiertechnisch nicht so sauber?

Amadou

Weil du darauf angewiesen bist, dass Mysql das Datum auch so speichert (wie es es tut :wink: LOL, verstanden? nee bestimmt nicht *smile*

Schau mal bei dir macht es z.b. einen wesentlichen Unterschied ob MYSQL intern das Ding als ‚2000-31-07 10:05:00‘ oder ‚10:05:00 2000-31-07‘ speichen würde. Es würde schlichtweg nicht funktionieren.

Mit den MYSQL-Funktionen ist es total egal, es könnte auch ein Timestamp 234234234234 oder so drinstehen, je nachdem welchen Daten-Typ sie dem Feld zugewiesen haben, die String-Lösugn funktioniert nur mit DATETIME und nur, weil bekannt ist, wie MYSQL das Ding speichert.

Es funktioniert, ok, aber was funktioniert muss nicht gut sein :wink: weil man früher oder später mit so Lösungen eventuell in probleme reinläuft.

bruno