Sie sind wahrscheinlich besser dran, die implizite Konvertierung von MySQL zu verwenden:
select sum(trim(replace(col, '$', '')) + 0.0)
Die stille Konvertierung beinhaltet Cents. Darüber hinaus verursachen nicht numerische Zeichen nach der Zahl keinen Fehler. Das trim()
entfernt führende Leerzeichen, die sich ebenfalls auf die Konvertierung auswirken könnten.