SQL Server PATINDEX function
Riepilogo: in questo tutorial, hai imparato come utilizzare la funzione SQL Server PATINDEX()
per trovare la posizione di un pattern in una stringa.
SQL Server PATINDEX() overview
La funzionePATINDEX()
restituisce la posizione della prima occorrenza di un pattern in una stringa. La sintassi della funzione PATINDEX()
è la seguente:
Code language: SQL (Structured Query Language) (sql)PATINDEX ( '%pattern%' , input_string )
La funzionePATINDEX()
accetta due argomenti:
pattern
è un’espressione di carattere da trovare. Può contenere caratteri jolly come%
e'_'
nel modello. I significati dei caratteri jolly sono gli stessi utilizzati con l’operatoreLIKE
.-
input_string
è una stringa di caratteri in cui il modello da cercare.
IlPATINDEX()
restituisce un numero intero che specifica la posizione della prima occorrenza delpattern
nelinput_string
, o lo zero del modello non trovato. La funzionePATINDEX()
restituisce NULL sepattern
oinput_string
è NULL.
Si noti chePATINDEX()
cerca il modello in base alle regole di confronto dell’input. Se si desidera utilizzare una collazione specifica, è possibile utilizzare esplicitamente la clausolaCOLLATE
.
SQL Server PATINDEX() esempi di funzioni
Prendiamo alcuni esempi di utilizzo della funzionePATINDEX()
.
A) SQL Server PATINDEX () esempio semplice
Questo esempio restituisce la posizione iniziale della sottostringa 'ern'
nella stringa 'SQL Pattern Index'
:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%ern%', 'SQL Pattern Index') position;
Ecco l’output:
position-----------9(1 row affected)
B) Utilizzo di SQL Server QUERY() con multipli esempio
in Questo esempio viene utilizzato %
e _
caratteri jolly per trovare la posizione in cui il pattern 'f'
seguito da due caratteri e 'ction'
inizia nel 'SQL Server String Function'
stringa:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%f__ction%', 'SQL Server String Function') position;
l’output è Il seguente:
Position-----------19(1 row affected)
C) Utilizzo di SQL Server QUERY() funzione con la colonna della tabella di esempio
in Questo esempio viene individuata la posizione della prima occorrenza del pattern 2018
in valori di product_name
colonna production.products
tabella dal database di esempio.
Code language: SQL (Structured Query Language) (sql)SELECT product_name, PATINDEX('%2018%', product_name) positionFROM production.productsWHERE product_name LIKE '%2018%'ORDER BY product_name;
La seguente immagine mostra l’uscita parziale:
In questo tutorial, avete imparato come utilizzare SQL Server PATINDEX()
funzione per trovare la posizione della prima occorrenza di un modello in una stringa.
Leave a Reply