Ich habe ein SSIS-Paket mit einem Datenfluss, der eine ADO.NET-Datenquelle (nur eine kleine Tabelle), führt eine Select * -Abfrage, und gibt die Abfrageergebnisse in eine flache Datei (Ich habe auch versucht, nur die ganze Tabelle und keine SQL-Select verwenden).Wie bekomme ich SSIS-Datenfluss, um '0.00' in eine flache Datei zu setzen?
Das Problem ist, dass die Datenquelle eine Spalte zieht, die ein Money-Datentyp ist, und wenn der Wert nicht Null ist, kommt es in der Textdatei flach (wie '123.45'), aber wenn der Wert Null ist Es erscheint in der Zieldatei als '.00'. Ich muss wissen, wie man die führende Null in die flache Datei zurückbringt.
Ich habe verschiedene Datentypen für die Ausgabe (in der Flat File Connection Manager) versucht, einschließlich Währung und Zeichenfolge, aber dies scheint keine Auswirkungen zu haben.
ich eine Case-Anweisung in meiner select versucht haben, wie folgt aus:
CASE WHEN columnValue = 0 THEN
'0.00'
ELSE
columnValue
END
(noch ergibt‘, 00')
Ich habe so an, dass Variationen versucht:
CASE WHEN columnValue = 0 THEN
convert(decimal(12,2), '0.00')
ELSE
convert(decimal(12,2), columnValue)
END
(Ergebnisse immer noch in‘.00')
und:
CASE WHEN columnValue = 0 THEN
convert(money, '0.00')
ELSE
convert(money, columnValue)
END
(Ergebnisse in‘,0000000000000000000 ')
Diese dumme kleine Problem ist, töte mich. Kann mir jemand sagen, wie man eine Null-Money-Datentyp-Datenbank-Wert in eine flache Datei als '0,00' bekommen?
ich die Ursache für dieses Problem wissen, würde gerne - ich nicht wirklich bin angenehm mit dem Abgeleiteten Spaltenhack. – PeterX