【问题标题】:SSIS Output to Flat File as 0.00SSIS 输出到平面文件为 0.00
【发布时间】:2010-10-25 23:48:45
【问题描述】:

在 SSIS 中,我的 OLE DB 源中有一个 MONEY 列,格式为 0.00。我想以完全相同的格式将此值输出到平面文件。到目前为止,我找到了两种解决方案:

  1. 将其转换为我的源中的字符串并将字符串输出到文件中。由于这是一个平面文件,它并不关心我是如何达到 0.00 的。它只是将其用作值。

  2. 在数据流中使用派生列生成一个 0.00 的字符串。这只是实现第一个解决方案的一种更难的方法,但它可以在我无法控制源数据格式的情况下工作。

我不太喜欢这两种解决方案,因为它需要一些额外的工作才能正确地将格式强制为字符串。如果我将数据流源输出列更改为 Numeric(18,2),我可以让数据输出为 .00,但这并不能完全解决问题。 有没有办法在不将数据转换成字符串的情况下输出 0.00?

【问题讨论】:

  • 我仍在尝试确定为什么 SSIS 输出“.00”而不是“0.00”。很高兴发现。

标签: ssis


【解决方案1】:

使用 ABS() 正则表达式。它仍然是数字并产生您想要的“0.00”。

ABS(numeric_expression)

** 看看数学正则表达式。如果您的源数据中有负值,则 ABS 可能不是您想要的。

【讨论】:

  • 这并不能完全满足我的需求,因为我需要负值。理想情况下,我更喜欢不需要转换或脚本任务的解决方案,但如果没有其他选择,我会这样做。
  • 标记为已接受,因为这基本上是一个死问题,而您的回答有部分帮助。
猜你喜欢
  • 1970-01-01
  • 2011-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多