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()cuLENGTH(). 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ă.