Один из подходов состоит в использовании REPLACE () function:
UPDATE my_table
SET price = replace(replace(replace(price_display,'Fr',''),'$',''),'.','')
WHERE price_display not regexp format(price/1000, 2);
Это работает для данных примеров, которые вы дали:
'$9.99'
'9.99Fr'
Оба результата дают 999 в моем тесте. При таком обновлении важно сначала выполнить резервное копирование базы данных и знать о форматах элементов. Вы можете увидеть всех "злодеев", выполнив этот запрос:
SELECT DISTINCT price_display
FROM my_table
WHERE price_display not regexp format(price/1000, 2)
ORDER BY price_display;