SQL Charindex

SQL Charindex
Streng- og strengoperasjoner er universelle funksjoner i alle databaser. Derfor er det nesten umulig å ha en ikke-triviell database uten bruk av streng- og tekstinformasjon.

Denne artikkelen vil diskutere en standard strengoperasjon: Bruke arv og standard SQL for å finne en substring i en annen streng.

Legacy SQL

Vi kan finne plasseringen av en substring i Legacy SQL ved hjelp av Instr () -funksjonen.

Funksjonen tar en streng og en substring som argumenter. Den returnerer deretter en enbasert indeksposisjon som angir den første forekomsten av substring.

Hvis ikke substringen blir funnet, returnerer funksjonen 0.

Funksjonssyntaksen er som uttrykt nedenfor:

Instr ('streng', 'substring');

Vi kan bruke denne funksjonen som vist nedenfor:

Velg Instr ('Linuxhint', 'hint') som posisjon;

Det skal komme tilbake:

POSISJON
6

Som nevnt starter posisjonsindeksen fra 1 og ikke 0.

Standard SQL

I standard SQL bruker vi StrPOS () -funksjonen for å få plasseringen av en substring. Funksjonen tar to argumenter: strengen og subtringen.

Den returnerer deretter en 1-indeksbasert posisjon av den første forekomsten av substring. Hvis ikke substringen blir funnet, returnerer funksjonen 0.

Syntaksen er som vist nedenfor:

STRPOS (streng, substring);

Eksempel Bruk av denne funksjonen er som vist nedenfor:

PLUKKE UT
Strpos ('Linuxhint', 'hint') som posisjon;

Spørringen skal returnere stillingen som vist:

POSISJON
6

Databasemotorspesifikk

Ulike databasemotorer gir forskjellige funksjoner for å bestemme posisjonen til en substring. Selv om funksjonaliteten forblir den samme, er funksjonsnavnet forskjellig på forskjellige databasemotorer.

PostgreSql & MySQL

Både PostgreSQL og MySQL bruker posisjonen () -funksjonen for å få plasseringen av en substring. Et eksempelbruk er som vist:

Velg posisjon ('hint' i 'Linuxhint') som posisjon;

Merk at funksjonen bruker in -operatøren for å spesifisere hvilken substring du skal søke. Dette skulle komme tilbake:

POSISJON
----------
6
(1 rad)

I MySQL kan du også bruke lokaliseringsfunksjonen () for å finne plasseringen av en substring. Et eksempelbruk vises nedenfor:

mysql> velg ficate ('hint', 'linuxhint');
-> 6

MS SQL Server

I SQL Server bruker vi Charindex () -funksjonen for å bestemme plasseringen av en substring. Et eksempelbruk vises nedenfor:

Velg Charindex ('Hint', 'Linuxhint');
-> 6

IBM DB2

I DB2 kan du finne substringposisjonen ved hjelp av Posstr () -funksjonen. Et eksempel er vist nedenfor:

Velg Posstr ('Hint', 'Linuxhint');
-> 6

Konklusjon

I denne artikkelen undersøkte vi forskjellige metoder og teknikker for å lokalisere plasseringen av en substring i arv og standard SQL. Vi diskuterte også hver variasjon av metodene for forskjellige databasemotorer.

For å lære mer om Standard og Legacy SQL, følg med på Linuxhint -artikler.