I just want to get the right number format here in germany, so i need to show commas as decimal separator instead of points. But this...
DECLARE @euros money
SET @euros = 1025040.2365
SELECT CONVERT(varchar(30), @euros, 1)
Displays 1,025,040.24
instead of 1.025.040,24
(or 1025040,24
). In C# it would be simple to provide the appropriate CultureInfo
but how to do it in T-SQL?
Do i really need to use REPLACE
? But even if, how to replace 1,025,040.24
correctly?
Well, as far as I know, there are no culture-specific options for convert available.
So you can do it using replaces (yes, it looks a bit ugly...)
select
replace(replace(replace(convert(varchar(30), @euros, 1), ',', '|'), '.', ','), '|', '.')
Idea: first change comma to something, then change dot to comma, and then "something" back to dot.