To set the separator in the integer part of a number you can use:

select to_char(123456.987654, '99G99G99G99D999999', 'NLS_NUMERIC_CHARACTERS='', ''') from dual 

12 34 56,987654

But how to make the separators were after the comma?

The format of the type '99G99G99G99D99G99G99' gives the error:

ORA-01481: invalid number format model

    1 answer 1

    Using the number format in any way, which is explicitly mentioned in the documentation :

    Restriction: A group of people should not be defined .

    To the right of the comma can not be groups with delimiters.
    Use character data operations if you really need it. For example:

     select regexp_replace (str, '(\d{2})', '\1 ', regexp_instr (str, ',')) res from ( select to_char(123456.987654, '99G99G99G99D999999', 'NLS_NUMERIC_CHARACTERS='', ''') str from dual ); 

    12 34 56.98 76 54