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)
Hey Björn ich hab genau das tatsächlich grade gebraucht 😉
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.
Hello! I think you misunderstood the text. The german NULL is a ZERO in english. This article is about removing leading zeros :).