小于1的小数在输出文件中正确显示时,在输出文件中显示为“,x”

时间:2019-06-10 09:27:49

标签: tsql export ssms

我在使用小数点列时遇到困难。我已经定义了一个视图,可以在其中转换这样的十进制值

例如

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

查询视图时,数字会正确显示在结果窗口中,例如0,500,35

但是,当我使用SSMS的任务>导出数据... 功能将视图导出到文件时,小于零的小数显示为,5,35

如何获得与结果窗口中相同的输出?

1 个答案:

答案 0 :(得分:1)

将查询更改为此:

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

不知道为什么,但是bcp下降到前导零。我的猜测是由于从SQL存储到文本文件的过渡。与“空字符串”和null在BCP上进出交换的方式类似。还是有一些更深层次的配置(Windows,SQL Server 、?),其中SQL Server配置不同于操作系统配置?还不确定。但是,由于在将BCP转换为文本文件时仍然要使用文本/字符数据,因此先将数据转换/转换为字符数据类型是安全的(在大多数情况下可能更好)。