SQL Server führende Nullen entfernen

Mit diesem kleinen Statement kann man führende Nullen in einem Textfeld entfernen.

UPDATE [dbo]. [Customers]
SET [CustomerKey] = REPLACE(LTRIM(REPLACE([CustomerKey], ‚0‘, ‚ ‚)), ‚ ‚, ‚0‘)

Grundsätzlich führt in drei Schritten:

Die 0 werden erst mit einem Leerzeichen ersetzt.
Danach werden mit LTrim die vorderen Leerzeichen entfernt.
Jetzt werden alle Leerzeichen wieder mit 0 ersetzt.

Das ganze geht also nur wenn man keine Leerzeichen im String hat.

Kommentare

Eine Antwort zu „SQL Server führende Nullen entfernen“

  1. Avatar von Ch. Demandt
    Ch. Demandt

    Zur Sicherheit (ich habe hier eine Tabelle gefunden, die tatsächlich rechts Leerzeichen hatte), würde ich das ganze noch um einen RTRIM für das Quellfeld erweitern:

    REPLACE(LTRIM(REPLACE(RTRIM(KUNNR), ‚0‘, ‚ ‚)), ‚ ‚, ‚0‘)

Schreibe einen Kommentar zu Ch. Demandt Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert