Десятичные числа меньше 1 отображаются как «, x» в выходном файле, в то время как они отображаются правильно в окне результатов - PullRequest
1 голос
/ 10 июня 2019

У меня проблемы с моими десятичными столбцами. Я определил представление, в котором я конвертирую свои десятичные значения, как это

* 1003 Е.Г. *

SELECT CONVERT(decimal(8,2), [ps_index]) AS PriceSensitivityIndex

Когда я запрашиваю мое представление, числа правильно отображаются в окне результатов, например, 0,50, 0,35.

Однако, когда я экспортирую свое представление в файл, используя функцию Задачи> Экспорт данных ... SSMS, десятичные числа ниже нуля отображаются как ,5, ,35.

Как получить тот же вывод, что и в окне результатов?

1 Ответ

1 голос
/ 11 июня 2019

Измените ваш запрос следующим образом:

SELECT CAST( CONVERT(decimal(8,2), [ps_index]) AS VARCHAR( 20 ) ) AS PriceSensitivityIndex

Не знаю почему, но bcp сбрасывает ведущий ноль.Я думаю, это либо из-за перехода с хранилища SQL в текстовый файл.Подобно тому, как «пустая строка» и нули обмениваются на BCP или нет.Или есть более глубокий конфиг (windows, sql server,?), Где конфиг SQL Server отличается от конфига ОС?Пока не уверен.Но поскольку вы в любом случае собираетесь использовать текстовые / символьные данные, когда вы переводите BCP в текстовый файл, безопасно (и, вероятно, в большинстве случаев лучше) сначала преобразовать / преобразовать ваши данные в символьный тип данных.

...