Имейте в виду, что при использовании синтаксиса 'fm' он не будет содержать никаких значений после запятой, если не указано с помощью нулей. Например:
SELECT TO_CHAR(12345, 'fm99,999.00') FROM dual
возвращает: '12, 345,00 '
SELECT TO_CHAR(12345, 'fm99,999.99') FROM dual
возвращает: '12, 345. '
Как видите, это может быть проблемой, если вы ожидаете двух нулей после десятичной точки (например, в отчетах о сборе).