phpbar.de logo

Mailinglisten-Archive

RE: Merkwürdiges verhalten von Sum bei

RE: Merkwürdiges verhalten von Sum bei

Andreas Müller mysql at universalware.de
Mit Jul 27 19:06:00 CEST 2005


Hallo Norbert,
Sum() sollte einfach alles was natürlicherweise addierbar ist auch addieren.

Bei Strings verhält sich MySQL da etwas sehr tollerant im Vergleich zu
anderen DB Server: Es versucht den String in eine Zahl zu wandeln und wenn
das nicht geht dann wird 0 für diesen Wert genommen. Ich nehme mal an das
gleiche gilt für Avg() etc.

Zum Problem mit time-Feldern: time ist laut Doku und laut MySQL AB
keineswegs ein "Zeitpunkt" - woher diese Meinung kommt weiss ich nicht. Ich
nehme aber mal an das es sich schlicht um eine Vermutung und keine Tatsache
(worauf auch begründet?) ist.
Das time Zeit-Werte aufnehmen soll lässt sich schon allein aus dem
Wertebereich von time schliessen. Time kann Zeit-Werte also z.B. die Länge
eines Musik-Stückes oder eines Videos aufnehmen, es kann physikalische
Messgrößen der Einheit "Zeit" aufnehmen usw. Andernfalls würde z.B. ein
negativer Wert von time keinen Sinn machen.

So und da man natürlicherweise Zeit-Werte addieren kann hat auch Sum() dies
zu tun. Vor allem wenn schon dann sinnvoll und nicht in der Art wie es heute
getan wird. Entweder kann Sum() mit time Feldern umgehen dann korrekt oder
eben garnicht! Es ist schlicht nicht akzeptabel das Sum() irgendwas macht -
und genau das tut es heute. Noch schlimmer ist das das Verhalten nichtmal
dokumentiert ist.

Gruß,
Andreas


-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive