Вероятно е по-добре да използвате имплицитното преобразуване на MySQL:
select sum(trim(replace(col, '$', '')) + 0.0)
Безшумното преобразуване ще включва центове. Освен това нечисловите знаци след числото няма да доведат до грешка. trim()
ще премахне водещите интервали, които също могат да повлияят на преобразуването.