PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeitrechnung macht Probleme


Rüdiger König
02.08.2007, 13:32:36
Guten Tag zusammen

also mein Porblem ist das ich aus einer Tabelle in der Secundenwerte stehen, die für jeden Tag (auch 0) erstellt werden, nun möchte ich die summe bilden so das nur die secunden addiert werden die zwischen zwei Datumen liegen


SELECT SUM('.$typ.') FROM STILLSTAENDE WHERE DATE BETWEEN '.$anfangsdatum.' AND '.$enddatum.'


ich bekomme 0 alls augabe obwohl mehrere Stunden in der Tabelle stehen

bitte hälft mir

MfG
Rüdiger

Raketenmann
02.08.2007, 14:05:06
Was für Werte übergibst du in deinen Variablen und von welchem Datentyp sind die Spalten? Vielleicht passt es nicht zu einem BETWEEN ... AND Vergleich. Oder es läßt sich keine Summe aus $typ bilden.

Rüdiger König
02.08.2007, 14:31:42
das datumformat is DD.MM.YYYY
DATE = varchar

secund = text


hab nochmal was ausprobiert und das funzt auch soweit nur
wenn ich es in einer anderen abfrage verwände gibts wieder trouble

SELECT SUM('.typ.') FROM STILLSTAENDE WHERE DATE >= "'.$anfangsdatum.'" AND DATE <= "'.$enddatum.'"

diese abfrage mit genau den selben werten funktioniert nur an der einen stelle aber nicht an der anderen

ich hab die vermutung das mysql mit den Datumsschreibungen probleme hat
07.12.2006
12.05.2006

irgendwie scheint da der wurm drin zu sein

Raketenmann
02.08.2007, 14:44:02
das datumformat is DD.MM.YYYY
DATE = varchar


Wenn du das nicht ändern kannst, wirst du damit leben müssen, dass da ein Stringvergleich und kein Datumsvergleich stattfindet...

Ansonsten ändere den Typ der Datums-Spalten auf DATE und vergleiche mit einem YYYY-MM-DD Datum, dann klappts auch mit dem Zeitraum.

Rüdiger König
03.08.2007, 07:01:05
hat sich alles geklärt
der entwickler der datenbank hat mich auf das STAMP Feld verwiesen
mit dem gehts nun

aber danke für die bemühungen

mfg
Rüdiger

meikel (†)
03.08.2007, 07:32:39
aber danke für die bemühungen
Das siehst Du ein wenig falsch: der Raketenmann hat Dich auf einen Entwicklungs-/Projektfehler hingewiesen. Vielleicht solltest Du mal mit Deinem "db entwickler" ein paar Worte im Klartext wechseln.

Denn: wer Kalenderdaten als String und nicht als DATE/DATETIME in die Tabelle stopft, sollte mit dem Handbuch erschlagen werden.

Raketenmann
03.08.2007, 11:38:52
...., sollte mit dem Handbuch erschlagen werden.

Na dann beeil dich lieber...

secund = text


...nicht das dir jemand zuvor kommt und dem "Entwickler" für eine TEXT-Spalte für einen Sekundenwert noch viel schlimmeres antut. ;-)