MSSQL alphanumerische daten numerisch machen
Ich müßte eine spalte in einer tabele mit einer alphanummerischen eingabe "c########" numerisch machen sprich das "c" herausnehmen
es handelt sich hierbei um artikelnummern daher ist die länge unterschiedlich, ich hab mir die tabelle mal angegeuckt es sind knapp 600 datensätze und ich hab keine lust die per hand zu bearbeiten, wie ihr sicher verstehtwürd mich also über ne schnelle hilfe freuen
mfg der tim
Ich müßte eine spalte in einer tabele mit einer alphanummerischen eingabe "c########" numerisch machen sprich das "c" herausnehmen
es handelt sich hierbei um artikelnummern daher ist die länge unterschiedlich, ich hab mir die tabelle mal angegeuckt es sind knapp 600 datensätze und ich hab keine lust die per hand zu bearbeiten, wie ihr sicher versteht würd mich also über ne schnelle hilfe freuen
mfg der tim
es handelt sich hierbei um artikelnummern daher ist die länge unterschiedlich, ich hab mir die tabelle mal angegeuckt es sind knapp 600 datensätze und ich hab keine lust die per hand zu bearbeiten, wie ihr sicher verstehtwürd mich also über ne schnelle hilfe freuen
mfg der tim
Ich müßte eine spalte in einer tabele mit einer alphanummerischen eingabe "c########" numerisch machen sprich das "c" herausnehmen
es handelt sich hierbei um artikelnummern daher ist die länge unterschiedlich, ich hab mir die tabelle mal angegeuckt es sind knapp 600 datensätze und ich hab keine lust die per hand zu bearbeiten, wie ihr sicher versteht würd mich also über ne schnelle hilfe freuen
mfg der tim
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 92760
Url: https://administrator.de/contentid/92760
Ausgedruckt am: 25.11.2024 um 09:11 Uhr
4 Kommentare
Neuester Kommentar
Hm.... meinst du mit numerisch machen, dass du einen String von Ziffern erhaelst, oder dass es Integers sind? Für ersteren Fall geht dieses:
UPDATE tabelle SET artikelnummer = SUBSTR(artikelnummer,2)
Für letzteres (habe ich aber nicht getestet), müsste das gehen:
UPDATE tabelle SET artikelnummer2 = CAST(SUBSTR(artikelnummer,2) AS INTEGER)
UPDATE tabelle SET artikelnummer = SUBSTR(artikelnummer,2)
Für letzteres (habe ich aber nicht getestet), müsste das gehen:
UPDATE tabelle SET artikelnummer2 = CAST(SUBSTR(artikelnummer,2) AS INTEGER)
OK, wie ich es gelesen habe ist SUBSTRING(nummer FROM 2) gleich SUBSTR(str,pos). Aber sei's drum. (Hab kein mssql, sondern nur eine kurzreferenz.)
vllt kurze erklaerung dessen, was du bewirkst.
Alle Zeilen, in denen Nummer mit einem 'c' beginnt, wird artikelnummer ein leerer String plus der String ohne das 'c' der spalte artikelnummer zugeordnet. Das ist eig. genau das, was du wohl brauchst. Ich weiss aber nicht, wieso das '' + nötig sein soll. m.e. kann man es weglassen. ein casting findet bei der variante jedenfalls nicht statt.
in der referenz ueber sql server gibt es im uebrigen die variante mit "str FROM pos" nicht, sondern nur mit length, dass also SUBSTRING(Nummer, 2 ,LENGTH(Nummer)-1)) nehmen. vllt klappt das. kann's leider nicht testen
vllt kurze erklaerung dessen, was du bewirkst.
Alle Zeilen, in denen Nummer mit einem 'c' beginnt, wird artikelnummer ein leerer String plus der String ohne das 'c' der spalte artikelnummer zugeordnet. Das ist eig. genau das, was du wohl brauchst. Ich weiss aber nicht, wieso das '' + nötig sein soll. m.e. kann man es weglassen. ein casting findet bei der variante jedenfalls nicht statt.
in der referenz ueber sql server gibt es im uebrigen die variante mit "str FROM pos" nicht, sondern nur mit length, dass also SUBSTRING(Nummer, 2 ,LENGTH(Nummer)-1)) nehmen. vllt klappt das. kann's leider nicht testen