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 cuSELECT. Verifică rezultatul înainte să modifici datele.
Comenzi înrudite
REGEXP_REPLACE(): Înlocuiește bucățile de text care se potrivesc cu o expresie regulată.INSERT() (funcție pentru șiruri): Înlocuiește o bucată de text, de la o poziție dată, cu alt text.UPDATE: Modifică valorile din rândurile existente ale unui tabel.