RE: Datensätze in bestimmtem Datumsbereich finden

Thomas Goik - auxion.de technik at auxion.de
Do Aug 21 15:13:17 CEST 2008


Hallo Sascha;

Hast du die Werte als seconds since 1.Jan.1970 gespeichert?
Wenn ja, dann mußt du unix_timestamp(now()) verwenden!

Ach ja, du versuchst NOW() gegen start zu prüfen, was du eher anders herum
machen solltest:
WHERE start <= unix_timestamp(NOW()) and stop >= unix_timestamp(now())


Mit freundlichen Grüssen
Thomas Goik

--
Lofox GmbH
Geschäftsführerin: Evelyn Fuchs
Im Kamperholz 48
44805 Bochum - Germany
Amtsgericht Bochum HRB 7042
USt-IdNr.: DE215698227
St.-Nr. Bochum 306/5885/0172



> -----Mensaje original-----
> De: mysql-de-bounces at lists.4t2.com [mailto:mysql-de-bounces at lists.4t2.com]
En
> nombre de Sacha Vorbeck
> Enviado el: Donnerstag, 21. August 2008 15:06
> Para: mysql-de at lists.4t2.com
> Asunto: Datensätze in bestimmtem Datumsbereich finden
> 
> Hallo,
> 
> gerade knabbere ich an den Date/Timefunktionen von MySQL. In meinen
> Datensätzen gibt 2 Felder, die ein Start- und ein Stopdatum als
> Timestamp enthalten.
> 
> Nun möchte ich die Datensätze herausfiltern, bei denn der aktuelle Tag
> zwischen oder genau auf diesen Eckdaten liegt. Mein Ansatz war folgender:
> 
> WHERE ((NOW() >= start) AND (NOW() <= stop))
> 
> Da mir nicht klar ist, wie die Berechnung genau erfolgt, habe ich auch
> versucht, die Feldinhalte mit DATE umzuwandeln und so zu vergleichen:
> WHERE (DATE(NOW()) >= DATE('start')) AND (DATE(NOW()) <= DATE('end'))
> 
> Aber ich bekomme keine Datensätze zurückgeliefert. In einem Datensatz
> sind die Felder start und stop mit den Werten 1219017600 / 1219968000
> (18.08.2008 / 29.08.2008) belegt.
> 
> Ist das der richtige Ansatz oder bin ich da auf dem Holzweg?
> 
> --
> Danke und Ciao,
> Sacha
> 
> _______________________________________________
> Allgemeine Infos zur Liste: http://www.4t2.com/mysql/
> Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de