Ce face REGEXP_INSTR()
REGEXP_INSTR() este echivalentul lui INSTR() pentru expresii regulate. Returnează poziția primului caracter al potrivirii sau 0 dacă nu există.
Cu tip_rezultat = 1, returnează poziția de după sfârșitul potrivirii.
Parametri
| Parametru | Descriere |
|---|---|
expresie |
Textul în care se caută. |
tipar |
Expresia regulată. |
pozitie |
Opțional. De unde începe căutarea. |
aparitie |
Opțional. A câta potrivire. |
tip_rezultat |
Opțional. 0 = începutul potrivirii (implicit), 1 = poziția de după ea. |
optiuni |
Opțional. Ca la REGEXP_LIKE(). |
Ce returnează
Poziția (de la 1) sau 0.
Exemple
Exemplul 1: Unde încep și unde se termină cifrele
SELECT REGEXP_INSTR('Factura DEX-001024', '[0-9]+') AS inceput,
REGEXP_INSTR('Factura DEX-001024', '[0-9]+', 1, 1, 1) AS dupa_final;
Rezultat
+---------+------------+
| inceput | dupa_final |
+---------+------------+
| 13 | 19 |
+---------+------------+
Greșeli frecvente
- Folosești
REGEXP_INSTR() > 0doar ca să afli dacă există o potrivire.REGEXP_LIKE()exprimă asta mai clar.
Comenzi înrudite
REGEXP_SUBSTR(): Returnează bucata de text care se potrivește cu o expresie regulată.INSTR(): Returnează poziția primei apariții a unui subșir; ca LOCATE(), cu parametrii inversați.LOCATE(): Găsește poziția primei apariții a unui text în alt text (0 dacă lipsește).