MySQL REPLACE()-Funktion
Letztes Update am 26. Februar 2020 08:08:23 (UTC/GMT +8 Stunden)
REPLACE()-Funktion
MySQL REPLACE() ersetzt alle Vorkommen einer Teilzeichenkette innerhalb eines Strings.
Syntax:
REPLACE(str, find_string, replace_with)
Argumente
Name | Beschreibung |
---|---|
str | Ein String. |
find_string | Eine Zeichenkette, die ein oder mehrere Male innerhalb der Zeichenkette str vorkommt. |
ersetzen_mit | Eine Zeichenkette, die jedes Mal ersetzt wird, wenn sie find_string innerhalb von str findet. |
Syntaxdiagramm:
MySQL Version: 5.6
Videopräsentation:
Ihr Browser unterstützt kein HTML5-Video.
Beispiel für die MySQL-Funktion REPLACE()
Das folgende MySQL-Statement ersetzt jedes Mal, wenn es ‚ur‘ innerhalb der ‚w3resource‘ findet, durch ‚r‘.
Code :
SELECT REPLACE('w3resource','ur','r');
Beispielausgabe:
mysql> SELECT REPLACE('w3resource','ur','r');+--------------------------------+| REPLACE('w3resource','ur','r') |+--------------------------------+| w3resorce | +--------------------------------+1 row in set (0.02 sec)
Bildhafte Darstellung
Beispiel für die MySQL-Funktion REPLACE() mit where-Klausel
Das folgende MySQL-Statement ersetzt alle Vorkommen von ‚K‘ durch ‚SA‘ innerhalb der Spalte country aus der Tabelle publisher für diejenigen Zeilen, in denen der Spaltenwert von country das Vereinigte Königreich ist.
Code:
SELECT pub_city,country,REPLACE(country,'K','SA') FROM publisher WHERE country='UK';
Beispieltabelle: publisher
Beispielausgabe:
mysql> SELECT pub_city,country, -> REPLACE(country,'K','SA') -> FROM publisher -> WHERE country='UK';+-----------+---------+---------------------------+| pub_city | country | REPLACE(country,'K','SA') |+-----------+---------+---------------------------+| London | UK | USA | | Cambridge | UK | USA | +-----------+---------+---------------------------+2 rows in set (0.05 sec)
PHP-Skript
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>example-replace-function - php mysql examples | w3resource</title><meta name="description" content="example-replace-function - php mysql examples | w3resource"><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"></head><body><div class="container"><div class="row"><div class="col-md-12"><h2>A list of Publishers those who belong to USA. Right column shows the name of the publisher enclosed with single quotes:</h2><table class='table table-bordered'><tr><th>Publishers city</th><th>Publishers country</th><th>Value of Publishers country where string 'k' is replaced with 'sa':</th></tr><?php$hostname="your_hostname";$username="your_username";$password="your_password";$db = "your_dbname";$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);foreach($dbh->query('SELECT pub_city,country,REPLACE(country,"K","SA") as output FROM publisherWHERE country="UK"') as $row) {echo "<tr>";echo "<td>" . $row . "</td>"; echo "<td>" . $row . "</td>";echo "<td>" . $row . "</td>";echo "</tr>"; }?></tbody></table></div></div></div></body></html>
Beispiel im Browser anzeigen
JSP-Skript
<%@page contentType="text/html" pageEncoding="UTF-8"%><%@ page import="java.sql.*" %><%@ page import="java.io.*" %><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example-replace-function</title></head><body><%try {Class.forName("com.mysql.jdbc.Driver").newInstance();String Host = "jdbc:mysql://localhost:3306/w3resour_bookinfo";Connection connection = null;Statement statement = null;ResultSet rs = null;connection = DriverManager.getConnection(Host, "root", "datasoft123");statement = connection.createStatement();String Data ="SELECT pub_city,country,REPLACE(country,'K','SA') as output FROM publisher WHERE country='UK'";rs = statement.executeQuery(Data);%><TABLE border="1"><tr width="10" bgcolor="#9979"><td>Publishers city</td><td>Publishers country</td><td>Value of Publishers country where string 'k' is replaced with 'sa'</td></tr><%while (rs.next()) {%><TR><TD><%=rs.getString("pub_city")%></TD><TD><%=rs.getString("country")%></TD><TD><%=rs.getString("output")%></TD></TR><% } %></table><%rs.close();statement.close();connection.close();} catch (Exception ex) {out.println("Cant connect to database.");}%></body></html>
MySQL: Daten suchen und ersetzen
Wir haben eine Tabelle namens test mit folgenden Datensätzen:
mysql> SELECT * FROM test;+-----------+| test_char |+-----------+| Abcd || Wxyz || Scott || Robin |+-----------+4 rows in set (0.00 sec)
Um ‚Scott‘ zu suchen und durch ‚Sidhu‘ zu ersetzen, können Sie das folgende MySQL-Statement verwenden:
mysql> UPDATE test set test_char = replace(test_char, 'Scott', 'Sidhu');Query OK, 1 row affected (0.04 sec)Rows matched: 4 Changed: 1 Warnings: 0mysql> SELECT * FROM test;+-----------+| test_char |+-----------+| Abcd || Wxyz || Sidhu || Robin |+-----------+4 rows in set (0.00 sec)
Alle String-Funktionen
Vorher: REPEAT
Nächste: REVERSE