Funzione PATINDEX di SQL Server

Funzione Patindex Di Sql Server



Questo tutorial ha lo scopo di guidarti nella comprensione di come utilizzare la funzione PATINDEX in SQL Server. Questa funzione consente di determinare la posizione iniziale di un pattern in una determinata espressione di input.

Funzione Patindex() di SQL Server

Il seguente frammento di codice definisce la sintassi della funzione PATINDEX() in SQL Server:







PATINDEX ( '%modello%' , espressione )



Gli argomenti sono analizzati di seguito:



  1. modello – questo argomento definisce l'espressione di caratteri da cercare nell'espressione. Questo valore supporta i caratteri jolly come % e _. La funzione applicherà i caratteri jolly in modo simile all'operatore LIKE. Puoi fornire solo un massimo di 8000 caratteri.
  2. espressione – questo definisce l'espressione in cui viene cercato il pattern. Questo può essere un valore letterale o una colonna.

La funzione restituirà quindi un valore intero che denota la posizione iniziale del primo modello di occorrenza nell'espressione. Se il modello non viene trovato nell'espressione, la funzione restituisce 0.





Se uno degli argomenti richiesti è NULL, la funzione restituirà automaticamente NULL.

Esempio di utilizzo

Gli esempi seguenti illustrano come utilizzare la funzione patindex() in SQL Server.



Esempio 1 – Utilizzo di base

Di seguito è riportata una dimostrazione dell'utilizzo di base della funzione patindex().

Selezionare patindex ( '%bit%' , 'https://geekbits.io' ) come posizione;

Questo dovrebbe restituire la posizione iniziale del modello trovato come:

pos
13

Esempio 2

Nell'esempio seguente, stiamo usando la funzione patindex() con più caratteri jolly.

Selezionare patindex ( '%g__k%' , 'https://geekbits.io' ) come posizione;

In questo caso, la funzione dovrebbe restituire:

pos
9

Esempio 3 – Utilizzo della funzione Patindex() con pattern complesso

Possiamo anche passare un'espressione regolare complessa come modello nella funzione patindex come mostrato:

Selezionare patindex ( '%[^0-9A-Za-z]%' , 'Benvenuto su Linuxhint!!' ) come incontro;

Risultato:

incontro
ventuno

Esempio 4 – Utilizzo della funzione Patindex con Column

Supponiamo di avere una tabella come quella illustrata di seguito:

Possiamo utilizzare la funzione patindex() per cercare il modello corrispondente nella colonna product_name come mostrato nella query seguente:

Selezionare nome_prodotto, produttore, patindex ( '%2022%' , nome del prodotto ) posto
dai prodotti

Questo dovrebbe restituire la posizione del modello di corrispondenza come mostrato:

Conclusione

In questo tutorial, abbiamo trattato i fondamenti dell'utilizzo della funzione PATINDEX() in SQL Server.