Ce face REGEXP_LIKE()
REGEXP_LIKE() face același lucru ca REGEXP, dar acceptă un al treilea parametru cu opțiuni: c (face diferența între litere mari și mici), i (nu face), m (mod multi-linie), n (. se potrivește și cu linia nouă).
Parametri
| Parametru | Descriere |
|---|---|
expresie |
Textul verificat. |
tipar |
Expresia regulată. |
optiuni |
Opțional. Litere de opțiuni: c, i, m, n, u. |
Ce returnează
1, 0 sau NULL.
Exemple
Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.
CREATE TABLE produse (
id INT PRIMARY KEY,
cod VARCHAR(20),
nume VARCHAR(50),
pret DECIMAL(10,2),
etichete VARCHAR(100)
);
INSERT INTO produse VALUES
(1, 'LAP-2026-01', 'Laptop ultraportabil', 3499.90, 'electronice,birou,promo'),
(2, 'MOU-2025-07', 'Mouse fără fir', 79.50, 'electronice,accesorii'),
(3, 'SCA-2026-03', 'Scaun ergonomic', 1249.00, 'mobilier,birou'),
(4, 'CAB-2024-11', 'Cablu USB-C', 35.00, 'accesorii,promo');
Exemplul 1: Cu și fără diferența dintre majuscule
SELECT REGEXP_LIKE('Ana', '^a') AS implicit,
REGEXP_LIKE('Ana', '^a', 'c') AS cu_majuscule,
REGEXP_LIKE('Ana', '^A', 'c') AS exact;
Rezultat
+----------+--------------+-------+
| implicit | cu_majuscule | exact |
+----------+--------------+-------+
| 1 | 0 | 1 |
+----------+--------------+-------+
Exemplul 2: Validarea codurilor de produs
SELECT cod, REGEXP_LIKE(cod, '^[A-Z]{3}-20[0-9]{2}-[0-9]{2}$', 'c') AS valid
FROM produse
ORDER BY id;
Rezultat
+-------------+-------+
| cod | valid |
+-------------+-------+
| LAP-2026-01 | 1 |
| MOU-2025-07 | 1 |
| SCA-2026-03 | 1 |
| CAB-2024-11 | 1 |
+-------------+-------+
Greșeli frecvente
- Validezi coduri cu litere mari fără opțiunea
'c'. Cu colația implicită,'lap-2026-01'ar trece drept valid.
Comenzi înrudite
REGEXP / RLIKE: Verifică dacă un text se potrivește cu o expresie regulată; mai puternic decât LIKE.REGEXP_SUBSTR(): Returnează bucata de text care se potrivește cu o expresie regulată.REGEXP_INSTR(): Returnează poziția la care începe (sau se termină) o potrivire cu o expresie regulată.