MS SQL Server und ACCESS: Führende Nullen in numerischem String abschneiden

Aufgabenstellung

In einer Spalte mit Materialnummer/Artikelnummern werden bei allen numerischen Materialnummern die Nullen entfernt, alphanumerische Materialnummern bleiben unberührt. Soll auch bei den alphanumerischen Materialnummern die führenden Nullen entfernt werden, verweise ich auf den Artikel in der Rubrik „MS SQL Server: Führende Nullen bei alphanumerischem String“.

Ansatz

Über das Case Statement wird gefragt ob der Artikel numerisch ist. Ist er numerisch, wird über die Konvertierung in einen Integer (und anschließendes Zurückkonvertieren in VARCHAR) die führenden Nullen entfernen.

Lösung

Microsoft SQL Server:

UPDATE tabelle SET material=
CASE WHEN isnumeric(material)=1 
        THEN convert(VARCHAR, convert(INTEGER, material))
        ELSE convert(VARCHAR, material)
END 

Microsoft Access:

   UPDATE articletexts SET material=
   IIF(IsNumeric(material), 
   REPLACE(LTRIM(REPLACE(material,'0',' '))
   ,' ','0'), material) 

Über Björn Karpenstein

Diplom Informatiker, Programmierer, Musikbegeisterter
Dieser Beitrag wurde unter Access, MS SQL Server veröffentlicht. Setze ein Lesezeichen auf den Permalink.

4 Responses to MS SQL Server und ACCESS: Führende Nullen in numerischem String abschneiden

  1. Pingback: Microsoft SQL Server: Führende Nullen bei alphanumerischem String abschneiden | Capri-Soft Knowledge database

  2. Nico sagt:

    Hey Björn ich hab genau das tatsächlich grade gebraucht 😉

    • Hatce sagt:

      I use COALESCE quite a lot in my applications, and I would roemmecnd everybody else to as well. It’s a quick function, that would become quite messy if left up to your PHP/ASP applications to sort.

      • schludi sagt:

        Hello! I think you misunderstood the text. The german NULL is a ZERO in english. This article is about removing leading zeros :).

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.