В нашей компании мы не контролируем форматирование валюты, используемое внешними сторонами, загружающими таблицы Excel. В настоящее время мы используем это, чтобы конвертировать валюты и добавлять регистр всякий раз, когда появляется что-то новое:
SET @netSale := '$ (154.00)';
SELECT CONVERT (
CASE
when @netSale LIKE '$ (%)' THEN CONCAT('-', REPLACE(REPLACE(REPLACE(@netSale, '$ ', ''), ')', ''), '(', ''))
when @netSale LIKE '(%)' THEN CONCAT('-', REPLACE(REPLACE(REPLACE(@netSale, '$ ', ''), ')', ''), '(', ''))
else REPLACE(REPLACE(@netSale,'$',''),',', '')
END, DECIMAL(10,2)
)
Это относится к большинству стилей форматирования, с которыми мы сталкивались, и особенно полезно при загрузке преобразованного файла CSV в таблицу.