小于1的小数在输出文件中显示为“,x”,而它们在结果窗口中正确显示

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (4)

我的十进制列有困难。我已经定义了一个视图,我在其中转换我的十进制值

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

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

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

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

提问于
用户回答回答于

将您的查询更改为:

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

不知道为什么,但是bcp正在下降前导零。我的猜测是因为从SQL存储到文本文件的转换。类似于在BCP输入或输出中如何交换“空字符串”和空值。或者有一些更深层次的配置(windows,sql server,?),其中SQL Server配置与OS配置不同?还不确定。但是,由于当您将BCP文本文件转换为文本/字符数据时,首先将数据转换/转换为字符数据类型是安全的(在大多数情况下可能更好)。

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    26 粉丝7 提问5 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问3 回答
  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券