MSSQL fehlende Kommastellen aus Dezimalfeld für übergabe INT-Feld mit Nullen auffüllen

topfact AG intern>Organisation>Richtlinien - verbindliche Anweisungen>Urlaub - Organisationsrichtlinie>technische Dokumentation Überblick>Standard Tools und Skripts>MSSQL fehlende Kommastellen aus Dezimalfeld für übergabe INT-Feld mit Nullen auffüllen
Produkt: topfact6 MyWork
Erstellt am 11.12.2019 13:12, letzte Aktualisierung am 05.06.2026 11:02.

Detlev Eberhardt, angewendet bei Kramer und Best 12/2019


Es sollen zur Datenergänzung Rechnungsbeträge an DocuWare übergeben werden. Die Quelle ist ein Dezimalfeld, das Ziel ein Integer-Feld. Daher muss das Komma entfernt und evtl. fehlenden Dezimalstellen mit Nullen aufgefüllt werden.


Beispiel:

1. Zwei Dezimalstellen, 2. Eine Dezimalstelle, 3. Keine Dezimalstellen


Umwandlung mit diesem Skript:

SELECT TOP 19 [rab_rechnung_dbid]

      ,[vorgang_dbid]

      ,[rechnungsnummer]

      ,[erloeskonten]

      ,[erloesgruppen]

      ,[preisanteile]

      ,[datum]

      ,[kundennummer]

      ,[empfaenger]

      ,[storno]

      ,[integriert]

      ,[netto]

      ,[mwst]

      ,[brutto]

 ,Buttoneu =

(case

when len(brutto) - CHARINDEX (',',brutto) = 2 then replace(brutto,',','')

when len(brutto) - CHARINDEX (',',brutto) = 1 then replace(brutto,',','') + '0'

else replace(brutto,',','') + '00'

end)

      ,[vorgang]

  FROM [topfact6Sync].[dbo].[pds_rechnungsausgangsbuch]

Inhaltsverzeichnis