我对我的小数列有困难。我定义了一个视图,在这个视图中我转换了十进制值,如下所示
例如。
SELECT CONVERT(decimal(8,2), [ps_index]) AS PriceSensitivityIndex
当我查询我的视图时,这些数字正确地显示在结果窗口中,例如0,50
、0,35
。
但是,当我使用SSMS的Tasks > export Data ...功能将视图导出到文件时,小于零的小数显示为,5
,,35
。
如何获得与结果窗口中相同的输出?
发布于 2019-06-11 05:33:10
将您的查询更改为:
SELECT CAST( CONVERT(decimal(8,2), [ps_index]) AS VARCHAR( 20 ) ) AS PriceSensitivityIndex
不知道为什么,但是bcp掉了前导零。我猜测这要么是因为从SQL存储到文本文件的转换。类似于“空字符串”和空值在BCP上交换传入或传出。或者有一些更深层次的配置(windows、sql server ?)SQL Server配置与操作系统配置有何不同?还不确定。但是,由于当您将BCP转换为文本文件时,无论如何都要处理文本/字符数据,因此首先将数据强制转换/转换为字符数据类型是安全的(在大多数情况下可能更好)。
https://stackoverflow.com/questions/56523712
复制相似问题