MySQL führt eine stille Konvertierung für einen String in einem numerischen Kontext durch. Weil es eine Zahl für sum() erwartet , führt MySQL die Konvertierung einfach mit den führenden "Zahlen" aus einer Zeichenfolge durch. Beachten Sie, dass dies Dezimalpunkte, Minuszeichen und sogar e enthält die wissenschaftliche Notation darstellt. Also '1e6' wird als Zahl interpretiert.
Im Code würde ich persönlich die Konvertierung explizit machen, indem ich 0 hinzufüge :
SELECT SUM(parametervalue + 0) FROM table
Ironischerweise der cast() kann einen Fehler zurückgeben, wenn die Zeichenkette kein numerisches Format hat, aber in diesem Fall wird kein Fehler zurückgegeben.