Articles

Funkcja MySQL REPLACE()

Ostatnia aktualizacja 26 lutego 2020 08:08:23 (UTC/GMT +8 godzin)

Funkcja REPLACE()

Funkcja MySQL REPLACE() zastępuje wszystkie wystąpienia podłańcucha w ciągu znaków.

Syntaktyka:

REPLACE(str, find_string, replace_with)

Argumenty

Nazwa Opis
str Ciąg znaków.
find_string Ciąg, który występuje jeden lub więcej razy w ciągu str.
replace_with Ciąg, który będzie zastępował za każdym razem, gdy znajdzie find_string wewnątrz str.

Syntaktyczny schemat:

Funkcja MySQL REPLACE() - schemat składniowy

MySQL wersja: 5.6

MySQL: Replace Presentation - w3resource

Prezentacja wideo:

Twoja przeglądarka nie obsługuje wideo HTML5.

Przykład funkcji MySQL REPLACE()

Poniższa instrukcja MySQL zastępuje za każdym razem, gdy znajdzie 'ur' w obrębie 'w3resource' przez 'r'.

Kod :

SELECT REPLACE('w3resource','ur','r');

Przykładowe dane wyjściowe:

mysql> SELECT REPLACE('w3resource','ur','r');+--------------------------------+| REPLACE('w3resource','ur','r') |+--------------------------------+| w3resorce | +--------------------------------+1 row in set (0.02 sec)

Prezentacja obrazkowa

Prezentacja obrazkowa MySQL REPLACE

Przykład funkcji MySQL REPLACE() z klauzulą where

Poniższa instrukcja MySQL zastępuje wszystkie wystąpienia 'K' na 'SA' w kolumnie kraj z tabeli wydawca dla tych wierszy, w których wartością kolumny kraj jest Wielka Brytania.

Kod:

SELECT pub_city,country,REPLACE(country,'K','SA') FROM publisher WHERE country='UK';

Przykładowa tabela: publisher

Przykładowe dane wyjściowe:

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)

Skrypt 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>

Zobacz przykład w przeglądarce

Skrypt 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: Znajdź i zamień dane

Mamy tabelę o nazwie test z następującymi rekordami :

mysql> SELECT * FROM test;+-----------+| test_char |+-----------+| Abcd || Wxyz || Scott || Robin |+-----------+4 rows in set (0.00 sec)

Aby znaleźć i zamienić 'Scott' na 'Sidhu' możesz użyć następującej instrukcji 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)

Wszystkie funkcje łańcuchowe

Funkcje łańcuchowe MySQL, prezentacja slajdów

Poprzednie: REPEAT
Następne: REVERSE

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *