Có lẽ bạn nên sử dụng chuyển đổi ngầm của MySQL:
select sum(trim(replace(col, '$', '')) + 0.0)
Việc chuyển đổi im lặng sẽ bao gồm xu. Ngoài ra, các ký tự không phải số đứng sau số sẽ không gây ra lỗi. trim()
sẽ xóa các khoảng trắng ở đầu cũng có thể ảnh hưởng đến chuyển đổi.