REPLACE() în MySQL

Înlocuiește toate aparițiile unui text cu alt text.

Sintaxă
REPLACE(sir, cauta, inlocuieste)

Ce face REPLACE()

REPLACE() caută un text și îl înlocuiește peste tot unde apare. Spre deosebire de restul comparațiilor, căutarea din REPLACE() face diferența între litere mari și mici.

Nu confunda funcția REPLACE() cu instrucțiunea REPLACE INTO, care înlocuiește rânduri dintr-un tabel.

Parametri

Parametru Descriere
sir Textul original.
cauta Textul căutat.
inlocuieste Textul pus în loc.

Ce returnează

Textul nou.

Exemple

Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.

CREATE TABLE clienti (
  id INT PRIMARY KEY,
  nume VARCHAR(50),
  oras VARCHAR(30),
  email VARCHAR(100),
  telefon VARCHAR(20)
);

INSERT INTO clienti VALUES
  (1, 'Ana Pop', 'Iași', 'ana.pop@exemplu.ro', '0722-123-456'),
  (2, 'bogdan ionescu', 'Cluj-Napoca', 'bogdan@firma.ro', '0744 555 101'),
  (3, 'Cristina Marin', 'Brașov', 'cristina@exemplu.ro', '0733.222.909'),
  (4, 'Dan Stoica', 'Timișoara', NULL, '0755123123');

Exemplul 1: Înlocuire simplă și diferența dintre majuscule

SELECT REPLACE('Cluj-Napoca', '-', ' ') AS fara_cratima,
       REPLACE('Ana are mere', 'ana', 'Ioana') AS majuscule;

Rezultat

+--------------+--------------+
| fara_cratima | majuscule    |
+--------------+--------------+
| Cluj Napoca  | Ana are mere |
+--------------+--------------+

Exemplul 2: Corectarea datelor dintr-un tabel

UPDATE clienti SET email = REPLACE(email, '@exemplu.ro', '@exemplu.com');

SELECT nume, email FROM clienti WHERE email IS NOT NULL ORDER BY id;

Rezultat

+----------------+----------------------+
| nume           | email                |
+----------------+----------------------+
| Ana Pop        | ana.pop@exemplu.com  |
| bogdan ionescu | bogdan@firma.ro      |
| Cristina Marin | cristina@exemplu.com |
+----------------+----------------------+

Greșeli frecvente

  • Rulezi UPDATE ... SET col = REPLACE(...) fără WHERE și fără să testezi întâi cu SELECT. Verifică rezultatul înainte să modifici datele.

Comenzi înrudite