Función MySQL REPLACE()
Última actualización el 26 de febrero de 2020 08:08:23 (UTC/GMT +8 horas)
Función REPLACE()
MySQL REPLACE() reemplaza todas las ocurrencias de una subcadena dentro de una cadena.
Sintaxis:
REPLACE(str, find_string, replace_with)
Argumentos
Nombre | Descripción |
---|---|
str | Una cadena. |
encontrar_cadena | Una cadena que está presente una o más veces dentro de la cadena str. |
reemplazar_con | Una cadena que reemplazará cada vez que encuentre find_string dentro de str. |
Diagrama sintáctico:
Versión de MySQL: 5.6
Presentación de vídeo:
Su navegador no soporta vídeo HTML5.
Ejemplo de la función REPLACE() de MySQL
La siguiente sentencia de MySQL reemplaza cada vez que encuentra ‘ur’ dentro de ‘w3resource’ por ‘r’.
Código :
SELECT REPLACE('w3resource','ur','r');
Muestra de salida:
mysql> SELECT REPLACE('w3resource','ur','r');+--------------------------------+| REPLACE('w3resource','ur','r') |+--------------------------------+| w3resorce | +--------------------------------+1 row in set (0.02 sec)
Presentación pictórica
Ejemplo de la función REPLACE() de MySQL. con cláusula where
La siguiente sentencia MySQL sustituye todas las apariciones de ‘K’ por ‘SA’ dentro de la columna country del editor de la tabla para aquellas filas en las que el valor de la columna país es el Reino Unido.
Código:
SELECT pub_city,country,REPLACE(country,'K','SA') FROM publisher WHERE country='UK';
Tabla de ejemplo: publisher
Muestra de salida:
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)
ScriptPHP
<!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>
Ver el ejemplo en el navegador
Script 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: Buscar y reemplazar datos
Tenemos una tabla llamada test con los siguientes registros :
mysql> SELECT * FROM test;+-----------+| test_char |+-----------+| Abcd || Wxyz || Scott || Robin |+-----------+4 rows in set (0.00 sec)
Para buscar y reemplazar ‘Scott’ por ‘Sidhu’ puedes utilizar la siguiente sentencia MySQL :
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)
Todas las funciones de cadena
Anterior: REPETIR
Siguiente: REVERSE