Un'utile funzione SQL Server è la funzione CharIndex (). Questa funzione restituisce la posizione dell'indice di una sottostringa.
Questa guida esaminerà come utilizzare la funzione Charindex per cercare una sottostringa specificata.
Uso di base
Abbiamo usato principalmente la funzione Charindex per individuare/cercare una sottostringa da una posizione specifica. La funzione restituisce la posizione della sottostringa se trovata e un numero intero se non trovato.
La sintassi della funzione è come:
Charindex (substring, main_string [, start_location]);Argomenti della funzione e valore di ritorno
La funzione Charindex accetta 3 argomenti:
Il parametro start_location è facoltativo. Se il valore di start_position non è specificato, la ricerca inizierà all'inizio della stringa.
Il Charindex restituisce un INT per impostazione predefinita. Tuttavia, se la sottostringa è di tipo nvchar (max), varbinary (max) o varchar (max), la funzione restituisce un tipo di bigint.
SQL Server Charindex () Esempi
Diamo un'occhiata ad alcuni esempi di utilizzo della funzione Charindex () in SQL Server.
Esempio 1:
L'esempio seguente cerca una sottostringa semplice.
Seleziona charindEx ('sql', 'database: sql server') come index_position;La query sopra dovrebbe restituire la posizione iniziale della sottostringa abbinata.
Un output di esempio è come mostrato:
indice_positionNota: la posizione iniziale restituita è basata su 1 e non 0 basato su 0.
Esempio 2
L'esempio seguente mostra che la posizione iniziale è basata su 1.
Seleziona charindEx ("linux", "linuxhint") come index_position;La posizione risultante è 1, come mostrato di seguito:
indice_positionEsempio 3:
La funzione Charindex è insensibile al caso. Ciò significa che corrisponderà a una sottostringa anche se non condividono un involucro simile.
Seleziona charindEx ("linux", "linuxhint") come index_position;La query restituisce ancora la prima posizione corrispondente della sottostringa cercata.
indice_positionEsempio 4:
Supponiamo di voler eseguire una ricerca sensibile al caso utilizzando la funzione Charindex? Per fare ciò, puoi usare la raccolta per specificare la raccolta target.
Un esempio è come mostrato:
Seleziona charindEx ('Linux', 'LinuxHint' collegare latin1_General_cs_as_ks_ws) come index_position;La query sopra restituirà un numero intero 0 in quanto non esiste una sottostringa corrispondente.
indice_positionEsempio 5:
Come abbiamo detto in precedenza, è possibile specificare il valore di start_position per impostare l'inizio della posizione di ricerca.
Ad esempio, la query di seguito imposta la posizione di avvio come 10.
Seleziona Charindex ("Charindex", "SQL Server Charindex Tutorial", 10) come index_Position;Nel nostro esempio, la prima corrispondenza della sottostringa si trova nella posizione 12.
indice_positionSe impostiamo la posizione di avvio dopo la prima partita della sottostringa, la funzione restituirà 0 in quanto non ci sono altri casi di corrispondenza.
Seleziona Charindex ("Charindex", "SQL Server Charindex Tutorial", 13) come index_Position;Il valore di ritorno è come:
indice_positionConclusione
In questo articolo, hai capito come utilizzare la funzione charindEx () in SQL Server. Questa funzione consente di cercare una sottostringa e restituire la posizione del primo caso di corrispondenza.
Grazie per aver letto!