Da ich nicht das erste Mal über das nun geschilderte Problem stolpere habe ich mir vorgenommen dieses entsprechend festzuhalten. Das hier beschriebene verhalten ist eigentlich generisch doch bin ich zweimal im selben Zusammenhang über das Problem gestolpert.
Beschreibung
Eine Tabelle einer SQL Datenbank enthällt ein Feld mit einer Nummer. Die Nummer ist in diesem Fall als NVARCHAR hinterlegt.
Quelldaten
56123
1010
111
1012
1021
2312
Die Zeilen sollen jedoch jeweils acht Zeichen lang sein und die fehlenden Zeichen sollen mit einer „0“ aufgefüllt werden.
Zieldaten
00056123
00001010
00000111
00001012
00001021
00002312
Dies ist in diversen Skriptsprachen relativ einfach. Auch in T-SQL kann dies schnell und einfach umgesetzt werden.
Lösung
UPDATE [TableName] SET [ColumnName] = RIGHT(‚00000000‘ + [ColumnName],8)