Funzione regexp_instr

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 11.3 LTS e versioni successive

Restituisce la posizione della prima sottostringa in str che corrisponde a regexp.

Sintassi

regexp_instr( str, regexp )

Argomenti

  • str STRING: espressione di cui trovare la corrispondenza.
  • regexp STRING: espressione con un criterio.

Valori restituiti

Un oggetto INTEGER.

La regexp stringa deve essere un'espressione regolare. Per la sintassi supportata, vedere Espressioni regolari .

Quando si usano valori letterali, usare raw-literal (r prefisso) per evitare la pre-elaborazione dei caratteri di escape.

Se uno degli argomenti è NULL, il risultato è NULL. Se il criterio non viene trovato, il risultato è 0.

Condizioni di errore comuni

Esempi

Trovare la posizione della prima corrispondenza

Il criterio Ste(v|ph)en corrisponde Steven all'inizio della stringa, quindi la posizione è 1.

> SELECT regexp_instr('Steven Jones and Stephen Smith are the best players', 'Ste(v|ph)en');
 1

Trovare la posizione della prima cifra

Le posizioni sono basate su 1.

> SELECT regexp_instr('Order 1234 shipped', r'\d');
 7

Trovare la posizione di un carattere

> SELECT regexp_instr('alice@example.com', r'@');
 6

Nessuna corrispondenza restituisce 0

> SELECT regexp_instr('Mary had a little lamb', 'Ste(v|ph)en');
 0

NULL restituisce input NULL

> SELECT regexp_instr(NULL, 'Ste(v|ph)en');
 NULL

> SELECT regexp_instr('Mary had a little lamb', NULL);
 NULL

Modello regex non valido

> SELECT regexp_instr('abc', '[invalid');
  Error: INVALID_PARAMETER_VALUE.PATTERN