blattertech informatikLukas BlatterNiederlenzerstrasse 21
5600 Lenzburg/AGSwitzerland

079 569 25 90
https://www.blattertech.ch

Adresse anzeigen

SQL Replace

27. Juni 2011 |  SQL0 Kommentare

Muss man in einer Datenbank einen String ersetzen, kann dies einfach mit einem REPLACE Statement erledigt werden.

REPLACE sucht nach einer bestimmten Zeichenfolge eines Strings und ersetzt diesen mit einer anderen Zeichenfolge. Somit ergibt dieses Statement:

SELECT REPLACE('BlatterTech Rocks!', 'Rocks', 'Rolls')

gibt folgendes zurück: BlatterTech Rolls!

REPLACE sucht im ersten String nach einer Übereinstimmung mit dem zweiten String und ersetzt diese mit dem dritten String. Die Stringlänge des alten und des neuen Strings müssen nicht übereinstimmen. Beispiel:

SELECT REPLACE('BlatterTech Rocks!', 'Rocks', 'is cool')

ergibt: BlatterTech is cool!

Hier wurde ein 5 Zeichen String mit einem 7 Zeichen String ersetzt. Wenn der String nicht gefunden wird, werden keine Änderungen vorgenommen:

SELECT REPLACE('BlatterTech Rocks!', 'Milch', 'Zucker')

gibt genau das zurück was vorher schon da war: BlatterTech Rocks!

Replace kann auch in Update-Statements genutzt werden.

UPDATE adressen 
SET ortschaft = REPLACE(ortschaft, 'Moritz, 'St Moritz');

Alle Orte welche “Moritz” im Namen haben werden durch “St Moritz” ersetzt. Bei allen anderen Orten wird nichts unternommen.

Natürlich kann dem Statement auch eine genauere Auswahl der Datensätze zur Verfügung gestellt werden.

UPDATE adressen 
SET ortschaft = REPLACE(ortschaft, 'Moritz, 'St Moritz')
WHERE ortschaft LIKE 'Moritz%';

Dies verändert nur die Datensätze welche mit “Moritz” beginnen.

Über den Autor:

Lukas Blatter

bloggt und twittert seit 2009 aus Leidenschaft diverse Themen rund um Webdesign, PHP, TYPO3, CMS Made Simple, Computer und weiteres.

Er ist Gründer und Inhaber von blattertech informatik, Ehemann und Vater einer Kinderschar.

Kommentare

Zurzeit gibt es keine Kommentare zu diesem Artikel.


Auf Grund des hohen Spamaufkommens können zu diesem Beitrag keine Kommentare mehr abgegeben werden