2009-05-13 32 views
1

SSISでは、OLE DBソースに0.00と書式が設定されたMONEY列があります。この値をまったく同じ形式のフラットファイルに出力したいと思います。これまでのところ、私は2つのソリューションを見つけました。フラットファイルへのSSIS出力0.00

  1. これを私のソースの文字列に変換し、ファイルに文字列を出力します。これはフラットなファイルなので、0.00になったら気にしません。これは単にこれを値として使用します。

  2. データフローで派生列を使用して、0.00の文字列を生成します。これは最初の解決策を達成するのが難しい方法ですが、ソースデータの形式を制御できない状況でも機能します。

文字列に正しく書式を設定するために余分な作業が必要なため、これらの解決法はあまり好きではありません。データフローソースの出力列をNumeric(18,2)に変更すると、データを.00に出力できますが、問題が完全に解決されるわけではありません。 データを文字列に変換せずに0.00を出力する方法はありますか?

+0

私はまだSSISの出力が "0.00"ではなく ".00"である理由を調べようとしています。見つけ出すのは大変です。 – PeterX

答えて

2

ABS()正規表現を使用します。それは数値のままで、あなたが望む "0.00"を生成します。

ABS(numeric_expression) 

**数学的な正規表現を見てください。ソースデータに負の値がある場合は、ABSが必要でない可能性があります。

+0

負の値が必要なので、これは私のニーズを正確に満たしませんでした。理想的には、私は変換やスクリプトのタスクを必要としないソリューションを好むでしょうが、他のオプションがない場合はそれを行います。 –

+0

これは基本的に死んだ質問であり、あなたの答えが部分的に助けられたので、受け入れられたとマークされています。 –

関連する問題