TRIM() în MySQL

Elimină spațiile (sau alte caractere) de la începutul și sfârșitul unui text.

Sintaxă
TRIM([BOTH | LEADING | TRAILING] [caractere FROM] sir)

Ce face TRIM()

TRIM() curăță marginile textului. Implicit elimină spațiile din ambele părți. Cu LEADING curăță doar începutul, cu TRAILING doar finalul, iar cu caractere FROM elimini alt text decât spațiul.

Parametri

Parametru Descriere
BOTH | LEADING | TRAILING Opțional. Din ce parte se curăță. Implicit BOTH.
caractere Opțional. Textul eliminat. Implicit un spațiu.
sir Textul curățat.

Ce returnează

Textul fără marginile eliminate.

Exemple

Exemplul 1: Spații și alte caractere

SELECT CONCAT('[', TRIM('   Iași  '), ']') AS spatii,
       TRIM(BOTH 'x' FROM 'xxAnaxx') AS caractere,
       TRIM(LEADING '0' FROM '000123') AS zerouri;

Rezultat

+---------+-----------+---------+
| spatii  | caractere | zerouri |
+---------+-----------+---------+
| [Iași]  | Ana       | 123     |
+---------+-----------+---------+

Exemplul 2: Curățarea datelor importate

CREATE TABLE import_clienti (nume VARCHAR(50));
INSERT INTO import_clienti VALUES ('  Ana Pop'), ('Dan Stoica   '), (' Ioana ');

UPDATE import_clienti SET nume = TRIM(nume);
SELECT CONCAT('[', nume, ']') AS nume FROM import_clienti;

Rezultat

+--------------+
| nume         |
+--------------+
| [Ana Pop]    |
| [Dan Stoica] |
| [Ioana]      |
+--------------+

Greșeli frecvente

  • Te aștepți ca TRIM() să elimine și tab-uri sau linii noi. Implicit elimină doar spațiile. Pentru alte caractere invizibile folosește REGEXP_REPLACE().

Comenzi înrudite

  • LTRIM() și RTRIM(): LTRIM() elimină spațiile de la început, RTRIM() pe cele de la sfârșit.
  • REPLACE(): Înlocuiește toate aparițiile unui text cu alt text.
  • REGEXP_REPLACE(): Înlocuiește bucățile de text care se potrivesc cu o expresie regulată.