Benutzer mit den meisten Antworten
Nachkomma stellen max 2

Frage
-
Hallo,
ich habe im Integration Service in einer CSV Datei mehrere Spalten. Zwei dieser Spalten haben nach dem komma mehrere Nachkomma zahlen. Ich möchte jedoch nur die letzten zwei angezeigt bekommen. Wie könnte man das umsetzen ?
Gibt es dafür ein bestimmten Task mit einer solchen Funkltion?
LG
Antworten
-
Hi,
ggfs. reicht es schon aus, wenn Du eine schema.ini im Verzeichnis der CSV Datei hinterlegst.
[Dateiname.csv] ColNameHeader=True Format=Delimited(;) MaxScanRows=20 DecimalSymbol=, Col1=ID Integer Col2=Name Text Width 50 Col3=Value Decimal Scale 2
Col1, Col2, ... und die anderen Einstellungen musst Du natürlich noch anpassen, wichtig ist dabei dann für dich nur "Decimal Scale 2".
In der schema.ini (siehe obigen Link) gäbe aus auch noch die Option "NumberDigits", die wird allerdings wohl zu 102% ignoriert.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Falk Krahl Donnerstag, 26. Januar 2012 12:12
- Als Antwort markiert Robert BreitenhoferModerator Montag, 13. Februar 2012 10:42
-
Hallo Kalle,
in einem SSIS Package kannst Du den Task "Abgeleitete Spalte" mit der ROUND Funktion verwenden, um auf 2 Nachkommastellen zu Runden.
Alternative könntest Du den Werte auf den Datentypen Decimal mit 2 NK konvertieren, z.B. auf DT_DECIMAL(18, 2).
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort vorgeschlagen Falk Krahl Donnerstag, 26. Januar 2012 12:12
- Als Antwort markiert Robert BreitenhoferModerator Montag, 13. Februar 2012 10:42
-
Im Klartext willst Du auf zwei Stellen runden, korrekt?Dann tu' das doch einfach;-)Die Funktion heisst ROUND(). Details in den BOLHTHHenry<KalleSql> wrote in message news:3c52f5e3-a417-4121-9805-e75f936dde0b@communitybridge.codeplex.com...
so sehen die Daten aus und nach dem komma sollen nur 2 zahlen stehen.
Also:
45,65 statt 45,659393932
- Als Antwort markiert Robert BreitenhoferModerator Montag, 13. Februar 2012 10:42
Alle Antworten
-
Hallo Kalle,
kannst Du das noch mal verdeutlichen? Welchen Sinn hat das eigentlich?
Ich verstehe die Frage so:
CSV (2.123456)
SSIS ( 56) (nur die beiden letzten)Wie viele Nachkommastellen können dort vorkommen?
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu -
Hi,
ggfs. reicht es schon aus, wenn Du eine schema.ini im Verzeichnis der CSV Datei hinterlegst.
[Dateiname.csv] ColNameHeader=True Format=Delimited(;) MaxScanRows=20 DecimalSymbol=, Col1=ID Integer Col2=Name Text Width 50 Col3=Value Decimal Scale 2
Col1, Col2, ... und die anderen Einstellungen musst Du natürlich noch anpassen, wichtig ist dabei dann für dich nur "Decimal Scale 2".
In der schema.ini (siehe obigen Link) gäbe aus auch noch die Option "NumberDigits", die wird allerdings wohl zu 102% ignoriert.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Falk Krahl Donnerstag, 26. Januar 2012 12:12
- Als Antwort markiert Robert BreitenhoferModerator Montag, 13. Februar 2012 10:42
-
Hallo Kalle,
in einem SSIS Package kannst Du den Task "Abgeleitete Spalte" mit der ROUND Funktion verwenden, um auf 2 Nachkommastellen zu Runden.
Alternative könntest Du den Werte auf den Datentypen Decimal mit 2 NK konvertieren, z.B. auf DT_DECIMAL(18, 2).
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort vorgeschlagen Falk Krahl Donnerstag, 26. Januar 2012 12:12
- Als Antwort markiert Robert BreitenhoferModerator Montag, 13. Februar 2012 10:42
-
Im Klartext willst Du auf zwei Stellen runden, korrekt?Dann tu' das doch einfach;-)Die Funktion heisst ROUND(). Details in den BOLHTHHenry<KalleSql> wrote in message news:3c52f5e3-a417-4121-9805-e75f936dde0b@communitybridge.codeplex.com...
so sehen die Daten aus und nach dem komma sollen nur 2 zahlen stehen.
Also:
45,65 statt 45,659393932
- Als Antwort markiert Robert BreitenhoferModerator Montag, 13. Februar 2012 10:42
-
Hallo KalleSql,
Ich gehe davon aus, dass die Antworten Dir weitergeholfen haben.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.