Я работаю над базой данных SqlServer 2012 с настройкой итальянского языка, и у меня странное поведение в результатах, которые я получаю в SSMS при запросе десятичного поля
Для другого числового формата (например, money или float) запрос отображает в результате число с итальянским десятичным разделителем (запятая ",")
для десятичного числа, используется международный десятичный разделитель (точка ".")
Вот пример:
select
cast(1234.567 as decimal(7, 3)) as decimalValue
, cast(1234.567 as float) as floatValue
, cast(1234.567 as money) as MoneyValue
Результат:
decimalValue floatValue MoneyValue
1234.567 1234,567 1234,567
На самом деле я запрашиваю десятичное поле таблицы, но приведенный выше результат запроса такой же
Как получить десятичное числозначение отформатировано с итальянским десятичным разделителем в результатах запроса из SSMS?Что мне нужно, это скопировать и вставить результаты в файл Excel (опять же, настройка с итальянским языковым стандартом) и десятичные значения, отформатированные с помощью "."распознаются как текст, а не как число при вставке в Excel
РЕДАКТИРОВАТЬ : только что нашли обходной путь:
select cast(MyDecimalField as float) from MyTable
Это, кажется, делает трюк, но это странночто мне нужно привести из «точного» числового типа к числовому типу с плавающей точкой