CHAR_LENGTH() în MySQL

Returnează numărul de caractere dintr-un text, indiferent câți octeți ocupă fiecare.

Sintaxă
CHAR_LENGTH(sir)

Ce face CHAR_LENGTH()

CHAR_LENGTH() numără caracterele, așa cum le vede un om: 'Brașov' are 6 caractere. Este funcția potrivită pentru validări de lungime și pentru afișare.

CHARACTER_LENGTH() este sinonim și face exact același lucru.

Parametri

Parametru Descriere
sir Textul măsurat.

Ce returnează

Numărul de caractere sau NULL dacă textul este NULL.

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: Lungimea numelor de orașe

SELECT oras, CHAR_LENGTH(oras) AS litere
FROM clienti
ORDER BY litere DESC;

Rezultat

+-------------+--------+
| oras        | litere |
+-------------+--------+
| Cluj-Napoca |     11 |
| Timișoara   |      9 |
| Brașov      |      6 |
| Iași        |      4 |
+-------------+--------+

Exemplul 2: Nume prea scurte

SELECT nume
FROM clienti
WHERE CHAR_LENGTH(nume) < 10;

Rezultat

+---------+
| nume    |
+---------+
| Ana Pop |
+---------+

Greșeli frecvente

  • Confunzi CHAR_LENGTH() cu LENGTH(). Diferența apare doar la caractere speciale, deci greșeala nu se vede pe date de test fără diacritice.

Comenzi înrudite

  • LENGTH(): Returnează lungimea unui text în octeți (bytes), nu în caractere.
  • LEFT(): Returnează primele N caractere dintr-un text.
  • SUBSTRING(): Extrage o bucată dintr-un text, pornind de la o poziție și cu o lungime dată.