Преобразование float в varchar с правильным десятичным разделителем - PullRequest
3 голосов
/ 16 февраля 2012

Привет, я живу в Австрии, и мы используем , в качестве десятичного разделителя.

Кажется невозможным преобразовать число с плавающей точкой в ​​varchar с правильным разделителем в соответствии с настройкой языка / параметров сортировки?

Это ошибка?

set language german --makes no difference in this case
declare @f float = 4.5
select @f --output in my management studio is 4,5 
          --according to the regional os settings this is correct

select convert(varchar,@f) -- output: 4.5 not correct

одно решение, но я думаю, не идеальное

select replace(convert(varchar,@f),'.',',')

1 Ответ

0 голосов
/ 16 февраля 2012
  • SSMS форматирует тип float на основе ваших regional настроек
  • Настройка языка SQL Engine не влияет на то, какие разделители используются

Правильно,Вы должны оставить числа как числа и отформатировать их в клиенте.
Это то, что SSMS делает для вас

Также см. SQL-сервер с немецкими региональными настройками

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...