2016-03-23 24 views
1

Sie müssen führende Nullen zu Spaltenwerten (varchar) hinzufügen und sie in derselben Tabelle aktualisieren. ex: 431 als 000431, 5431 als 005431, 64531 als 064531, grundsätzlich muss ich die Daten durch Nullen ersetzen, so dass es 6 Ziffern ist. Dies ist in Sybase ASE.So fügen Sie führende Nullen in Sybase hinzu

dank

+0

besser als SELECT RECHTS ('000000' + CONVERT (VARCHAR, actuals), 6) FROM nbr_actuals – max

Antwort

0

Falls Sie ASE 16.0SP01 ausführen oder später, können Sie die eingebaute Funktion LPAD() verwenden. Andernfalls zitierte der Ausdruck, den Sie ist der Weg zu gehen (die Sie in eine SQL-Funktion wickeln könnte, um es einfacher zu benutzen)

+0

Vielen Dank für die Antwort, ich arbeite an ASE 12 :) Ich ging mit dem gleichen Ausdruck. – max

1

Wenn Sie nicht LPAD() verwenden können, und die Quelle Nummer ein integer ist, diese Lösung ist vielleicht ein wenig schöner als deine:

RIGHT(1000000+Number, 6) 

Aber, wie sie es unerwartete Ergebnisse erzeugt, wenn der Wert negativ ist oder mehr als 6 Ziffern hat.