SQL Server Charindex -funksjon

SQL Server Charindex -funksjon
Strenger er grunnleggende byggesteiner i utviklingsverdenen. Selv i databaser kommer vi over tilfeller der vi trenger å utføre strengoperasjoner.

En nyttig SQL Server -funksjon er Charindex () -funksjonen. Denne funksjonen returnerer indeksposisjonen til en substring.

Denne guiden vil se på hvordan du bruker Charindex -funksjonen til å søke etter en spesifisert substring.

Grunnleggende bruk

Vi brukte hovedsakelig Charindex -funksjonen for å lokalisere/søke etter en substring fra en spesifikk stilling. Funksjonen returnerer plasseringen av substringen hvis den er funnet og et heltall 0 hvis ikke funnet.

Syntaksen til funksjonen er som:

charindex (substring, main_string [, start_location]);

Funksjonsargumenter og returverdi

Charindex -funksjonen godtar 3 argumenter:

  1. Substring - refererer til substringen som funksjonen vil søke.
  2. main_string - refererer til den bokstavelige strengen, uttrykket eller kolonnen for å søke på den spesifiserte substring.
  3. start_location - Dette spesifiserer stedet hvor du skal søke etter den spesifiserte substring. Startstedet er et heltall, stort heltall eller uttrykk som resulterer i et heltall eller stor heltallstype.

Start_location -parameteren er valgfri. Hvis verdien av start_posisjonen ikke er spesifisert, starter søket i begynnelsen av strengen.

Charindex returnerer en int som standard. Imidlertid, hvis substringen er av type NVChar (maks), varbinary (max) eller varchar (maks), returnerer funksjonen en bigint -type.

SQL Server Charindex () Eksempler

La oss se på noen få eksempler på å bruke Charindex () -funksjonen i SQL Server.

Eksempel 1:

Eksemplet nedenfor søker etter en enkel substring.

Velg Charindex ('SQL', 'Database: SQL Server') som Index_Position;

Ovennevnte spørring skal returnere startposisjonen til substringens matchede.

Et eksempelutgang er som vist:

indeks_posisjon
--------------
11

Merk: Startposisjonen som returneres er 1-basert og ikke 0-basert indeks.

Eksempel 2

Eksemplet nedenfor viser startposisjonen er 1-basert.

Velg Charindex ('Linux', 'Linuxhint') som Index_Position;

Det resulterende stedet er 1, som vist nedenfor:

indeks_posisjon
--------------
1

Eksempel 3:

Charindex -funksjonen er tilfelle ufølsom. Dette betyr at det vil matche en substring selv om de ikke deler et lignende foringsrør.

Velg Charindex ('Linux', 'Linuxhint') som Index_Position;

Spørringen returnerer fortsatt den første matchende posisjonen til den søkte substring.

indeks_posisjon
--------------
1

Eksempel 4:

Anta at du vil utføre et saksfølsomt søk ved hjelp av Charindex-funksjonen? For å gjøre dette, kan du bruke samlingen til å spesifisere målsamlingen.

Et eksempel er som vist:

Velg Charindex ('Linux', 'Linuxhint' ColleS Latin1_General_CS_AS_KS_WS) som index_position;

Spørringen over vil returnere et heltall 0, da det ikke er noen matchende substring.

indeks_posisjon
--------------
0

Eksempel 5:

Som vi tidligere nevnte, kan du spesifisere verdien av start_position for å stille begynnelsen på søkeposisjonen.

For eksempel setter spørringen nedenfor startposisjonen som 10.

Velg Charindex ('Charindex', 'SQL Server Charindex Tutorial', 10) som Index_Position;

I vårt eksempel er den første kampen i Substring plassert i posisjon 12.

indeks_posisjon
--------------
12

Hvis vi setter startposisjonen etter den første kampen av Substring, vil funksjonen returnere 0, da det ikke er noen andre matchende tilfeller.

Velg Charindex ('Charindex', 'SQL Server Charindex Tutorial', 13) som Index_Position;

Returverdien er som:

indeks_posisjon
--------------
0

Konklusjon

I denne artikkelen forsto du hvordan du bruker Charindex () -funksjonen i SQL Server. Denne funksjonen lar deg søke etter en substring og returnere plasseringen av den første matchende saken.

Takk for at du leser!