By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
WITH sample_data (sample_number) AS (
SELECT NULL
UNION ALL SELECT 0
UNION ALL SELECT 0.00001
UNION ALL SELECT 100.01
UNION ALL SELECT 100.0102
UNION ALL SELECT 100.012300456
UNION ALL SELECT 1000
UNION ALL SELECT 123456789.87654321
UNION ALL SELECT -56500.333
)
SELECT
sample_number,
REGEXP_REPLACE(FORMAT(sample_number, 999), '(\.\\d*[1-9])(0+$)|(\.0+$)', '$1') AS USA,
REGEXP_REPLACE(FORMAT(sample_number, 999, 'de_DE'), '(,\\d*[1-9])(0+$)|(,0+$)', '$1') AS Germany
FROM sample_data
sample_number | USA | Germany |
---|---|---|
null | null | null |
0.000000000 | 0 | 0 |
0.000010000 | 0.00001 | 0,00001 |
100.010000000 | 100.01 | 100,01 |
100.010200000 | 100.0102 | 100,0102 |
100.012300456 | 100.012300456 | 100,012300456 |
1000.000000000 | 1,000 | 1.000 |
123456789.876543210 | 123,456,789.87654321 | 123.456.789,87654321 |
-56500.333000000 | -56,500.333 | -56.500,333 |