2016-03-31 8 views
0

Ich arbeite an der Entwicklung einer Tabelle und ich laufe auf ein Problem Ich könnte dies in die falsche Richtung gehen, aber ich habe eine Straßensperre getroffen. Ich habe und ID in meiner Tabelle, die ich aktualisieren muss, ist ein NVARCHAR (12) -Feld und hat derzeit Zahlen darin. Ich muss es wie folgt formatieren: TP0000000001, TP0000000002, ..., TP0000245632, ..., TP9999999999. Ich muss nur einen Weg finden, TP und nachfolgende Nullen anzufügen, plus die ID-Nummer, wo die ganze Zeichenfolge 12 ergibt. Ich verwende derzeit eine while-Schleife mit einigen hart codierten Informationen, aber ich brauche sie dynamisch, da ich ungefähr 14000 habe Datensätze, um ein Update durchzuführen. HierDynamische Verkettung

ist das Update würde ich verwenden:

UPDATE Vendor 
SET TPPRM_ID = <The Formatted Value> 

Hier ist der Code, die derzeit formatiert die Nummer korrekt mit harten Codierung der Spalte I benötigt bin zu Format nennen ist TPPRM_ID wie Sie in der Update sehen . Jede Hilfe dazu wäre sehr willkommen.

Antwort

1

Nur die Nullen überschreiben und dann die rechten 10 Zeichen abschneiden. Dann anhängen 'TP'.

SELECT 'TP' + RIGHT(REPLICATE('0',10) + TPPRM_ID),10) 
FROM Vendor 
+0

Great !!! Das funktioniert wunderbar. –

1

Eine andere Lösung ist -

SELECT 'TP' + REPLACE(STR(TPPRM_ID, 10), ' ', 0) 
FROM Vendor