Fonction MySQL REPLACE()
Dernière mise à jour le 26 février 2020 08:08:23 (UTC/GMT +8 heures)
Fonction REPLACE()
MySQL REPLACE() remplace toutes les occurrences d’une sous-chaîne dans une chaîne de caractères.
Syntaxe :
REPLACE(str, find_string, replace_with)
Arguments
Nom | Description | str | Une chaîne de caractères. |
---|---|
tring_find | Une chaîne de caractères qui est présente une ou plusieurs fois dans la chaîne str. |
remplacer_avec | Une chaîne qui remplacera chaque fois qu’elle trouvera find_string dans str. |
Diagramme syntaxique:
Version MySQL : 5.6
Présentation vidéo:
Votre navigateur ne prend pas en charge les vidéos HTML5.
Exemple de la fonction MySQL REPLACE()
L’instruction MySQL suivante remplace chaque fois qu’elle trouve ‘ur’ dans le ‘w3resource’ par ‘r’.
Code :
SELECT REPLACE('w3resource','ur','r');
Exemple de sortie :
mysql> SELECT REPLACE('w3resource','ur','r');+--------------------------------+| REPLACE('w3resource','ur','r') |+--------------------------------+| w3resorce | +--------------------------------+1 row in set (0.02 sec)
Présentation picturale
Exemple de la fonction REPLACE() de MySQL. avec clause where
L’instruction MySQL suivante remplace toutes les occurrences de ‘K’ par ‘SA’ dans la colonne pays de la table éditeur pour ces lignes, dans lesquelles la valeur de la colonne pays est le Royaume-Uni.
Code:
SELECT pub_city,country,REPLACE(country,'K','SA') FROM publisher WHERE country='UK';
Table échantillon : publisher
Sortie exemple :
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)
Scripts PHP
<!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>
Voir l’exemple dans le navigateur
Scripts JSP
<%@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 : Rechercher et remplacer des données
Nous avons une table appelée test avec les enregistrements suivants :
mysql> SELECT * FROM test;+-----------+| test_char |+-----------+| Abcd || Wxyz || Scott || Robin |+-----------+4 rows in set (0.00 sec)
Pour rechercher et remplacer ‘Scott’ par ‘Sidhu’, vous pouvez utiliser l’instruction MySQL suivante :
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)
Toutes les fonctions de chaîne
Précédent : RÉPÉTER
Suivant : REVERSE