Das MySQL REPLACE()
Mit der Funktion können Sie alle Vorkommen einer Teilzeichenfolge durch eine andere Zeichenfolge ersetzen. Es erlaubt Ihnen, Dinge zu tun, wie z. B. alle Vorkommen eines Wortes durch ein anderes Wort zu ersetzen usw.
Dieser Artikel demonstriert seine Verwendung.
Syntax
So sieht die Syntax aus:
REPLACE(str,from_str,to_str)
Wobei str
ist die Zeichenfolge, die die Teilzeichenfolge/n enthält. from_str
ist die Teilzeichenfolge, die Sie durch eine andere Zeichenfolge ersetzen möchten. Und to_str
ist die neue Zeichenfolge, die die alte Zeichenfolge ersetzt.
Beispiel
Hier ist ein einfaches Beispiel:
SELECT REPLACE('Cats and dogs and cats and rabbits', 'and', 'or') AS Result;
Ergebnis:
+---------------------------------+ | Result | +---------------------------------+ | Cats or dogs or cats or rabbits | +---------------------------------+
In diesem Fall vertauschen wir einfach das Wort and
mit dem Wort or
. Da dieses Wort dreimal vorkam, wurden alle drei ersetzt.
Groß-/Kleinschreibung beachten
Es ist wichtig, sich daran zu erinnern, dass REPLACE()
Bei der Funktion wird zwischen Groß- und Kleinschreibung unterschieden.
Beispiel:
SELECT REPLACE('Cats and dogs and cats and rabbits', 'cat', 'flea') AS Result;
Ergebnis:
+-------------------------------------+ | Result | +-------------------------------------+ | Cats and dogs and fleas and rabbits | +-------------------------------------+
In diesem Fall nur eine Instanz von cat
wurde ersetzt, weil nur eine Instanz den richtigen Fall hatte. Die erste Instanz hatte ein großes C
es stimmte also nicht überein.
Einen Teilstring entfernen
Sie können einen Teilstring auch ganz entfernen, indem Sie einfach den Teilstring durch den leeren String ersetzen (''
):
SELECT REPLACE('http://www.database.guide', 'www.', '') AS Result;
Ergebnis:
+-----------------------+ | Result | +-----------------------+ | http://database.guide | +-----------------------+
Ein Schutz
Eine andere (vielleicht sicherere) Möglichkeit, dies zu tun, besteht darin, einen Teil des umgebenden Textes einzufügen und dann den unnötigen Teil zu entfernen:
SELECT REPLACE('http://www.database.guide', 'http://www.', 'http://') AS Result;
Ergebnis:
+-----------------------+ | Result | +-----------------------+ | http://database.guide | +-----------------------+
Dadurch wird verhindert, dass versehentlich eine Teilzeichenfolge entfernt wird, die nicht entfernt werden sollte. Zum Beispiel, wenn wir eine URL wie http://bestwww.com
haben , die versehentlich zu http://bestcom
werden würde ohne Schutz.
Dieselbe Schutzmaßnahme kann in Fällen angewendet werden, in denen Sie Text ersetzen (nicht nur entfernen). Zum Beispiel dies:
SELECT REPLACE('Land of cats and dogs and sand', ' and ', ' or ') AS Result;
Ergebnis:
+------------------------------+ | Result | +------------------------------+ | Land of cats or dogs or sand | +------------------------------+
In diesem Fall habe ich vor und nach dem Teilstring und seinem Ersetzungstext ein Leerzeichen eingefügt.
Wenn ich das nicht getan hätte, wäre ich auf Folgendes gekommen:
SELECT REPLACE('Land of cats and dogs and sand', 'and', 'or') AS Result;
Ergebnis:
+----------------------------+ | Result | +----------------------------+ | Lor of cats or dogs or sor | +----------------------------+