Daten teilweise ersetzen mit dem Update-Befehl in MS SQL 2005
Hallo,
ich möchte in einem Datensatz einen Spalteneintrag teilweise abändern:
BNR(alt) = '158491251' soll in 155491251 umgewandelt werden,
also jeweils die "158" mit der "155" ersetzen mittels eines Update-Befehls
unter Microsoft SQL Server 2005.
Kann mit jemand helfen?
Vielen Dank.
ich möchte in einem Datensatz einen Spalteneintrag teilweise abändern:
BNR(alt) = '158491251' soll in 155491251 umgewandelt werden,
also jeweils die "158" mit der "155" ersetzen mittels eines Update-Befehls
unter Microsoft SQL Server 2005.
Kann mit jemand helfen?
Vielen Dank.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 90041
Url: https://administrator.de/forum/daten-teilweise-ersetzen-mit-dem-update-befehl-in-ms-sql-2005-90041.html
Ausgedruckt am: 21.02.2025 um 18:02 Uhr
5 Kommentare
Neuester Kommentar

Kleines Problem: Aus 158158158 wird hiermit 155155155, weil Replace alle Vorkommnisse ersetzt, was aber nach meinem Verständnis nicht gewünscht wird.
Ich würde eher was in der Art CONCAT('155', RIGHT([columnName], LEN([columnName])-3)) oder so da sehen (extrem ins unsaubere getippt).
Ich würde eher was in der Art CONCAT('155', RIGHT([columnName], LEN([columnName])-3)) oder so da sehen (extrem ins unsaubere getippt).
Moin regen2k,
das is' sich aber gefährlich...
wenn die Zeichenfolge '158' mehrmals auftaucht im Gesamtstring..
Besser so:
Grüße
Biber
[Edit] @regen2k
Nun aber nicht den Kopf hängen lässen... besser wir haben den kleinen Denkfehler hier im Forum als in einer produktiven Datenbank...
Imagine: Montags früh halb neun... irgendwo in Deutschland...
"Update successfully. 456.332.129.211 rows affected."
[/Edit]
das is' sich aber gefährlich...
wenn die Zeichenfolge '158' mehrmals auftaucht im Gesamtstring..
Besser so:
UPDATE [tableName]
set [columnName] = '155' +
SUBSTRING( [columnName], 4, Len( [columnname] ) -3 )
where LEFT([columnName], 3) = '158';
Grüße
Biber
[Edit] @regen2k
Nun aber nicht den Kopf hängen lässen... besser wir haben den kleinen Denkfehler hier im Forum als in einer produktiven Datenbank...
Imagine: Montags früh halb neun... irgendwo in Deutschland...
"Update successfully. 456.332.129.211 rows affected."
[/Edit]