Mailinglisten-Archive |
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