我在使用小数点列时遇到困难。我已经定义了一个视图,可以在其中转换这样的十进制值
例如
SELECT CONVERT(decimal(8,2), [ps_index]) AS PriceSensitivityIndex
查询视图时,数字会正确显示在结果窗口中,例如0,50
,0,35
。
但是,当我使用SSMS的任务>导出数据... 功能将视图导出到文件时,小于零的小数显示为,5
,,35
。
如何获得与结果窗口中相同的输出?
答案 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转换为文本文件时仍然要使用文本/字符数据,因此先将数据转换/转换为字符数据类型是安全的(在大多数情况下可能更好)。