MySQL INSTR() Funktion

Mysql Instr Funktion



I denne øvelse lærer vi, hvordan du bruger MySQL INSTR()-funktionen til at bestemme positionen for den første forekomst af en given understreng.

MySQL INSTR() Funktion

Ved at bruge funktionen instr() kan vi levere en streng og en understreng. Funktionen afgør, om understrengen findes i kildestrengen. Hvis understrengen findes, vil funktionen returnere positionen for den første forekomst af understrengen i kildestrengen.

Hvis understrengen ikke findes i kildestrengen, returnerer funktionen 0.







Det følgende viser syntaksen for funktionen instr():



INSTR(kildestreng, understreng);

Funktionen accepterer to hovedparametre:



  1. src_strengen refererer til kildestrengen, som du ønsker at søge i.
  2. Understrengen definerer den understreng, du søger efter.

Det er godt at huske på, at funktionen instr() ikke skelner mellem store og små bogstaver. Derfor vil funktionen kun lokalisere matchende mønstre uden at tage hensyn til tegnets casing,





For at udføre en case-sensitiv søgning kan du bruge andre værktøjer, såsom den binære operator.

Eksempel på funktionsbrug

De følgende eksempler viser, hvordan vi kan bruge funktionen instr() til at søge efter en specifik understreng.



SELECT INSTR('MySQL er en fantastisk databasemotor', 'database') som pos;

Eksemplet ovenfor vil returnere startpositionen for strengen 'database' fra kildestrengen. I dette tilfælde er databasestrengens position 21 som vist i outputtet nedenfor:

pos|

---+

21|

Eksempel 2

Vi kan bruge lower() eller øvre funktioner til at konvertere en streng til små eller store bogstaver. Dette kan hjælpe os med at overvinde funktionens case-sensitive karakter.

Eksempel:

SELECT INSTR(lower('MySQL er en fantastisk databasemotor'), lower('DATABASE')) som pos;

Resultat:

pos|

---+

21|

Dette vil returnere en lignende værdi som det første eksempel, da kildestrengen og understrengen konverteres til små bogstaver før søgeoperationen.

Eksempel 3

Vi kan også bruge funktionen instr() med en tabelkolonne, som vist i syntaksen nedenfor.

VÆLG INSTR(kolonne_navn, 'understreng')

FRA tabelnavn;

Eksempel:

OPRET TABEL-blogs (

id INT IKKE NULL AUTO_INCREMENT PRIMÆR NØGLE,

titel VARCHAR(255) NOT NULL,

indhold TEKST IKKE NULL,

date_posted DATE IKKE NULL,

forfatter VARCHAR(255) IKKE NULL

);

Indsæt nogle data:

INDSÆT I blogs (titel, indhold, dato_indsendt, forfatter)

VALUES ('Mit første blogindlæg', 'Dette er indholdet af mit første blogindlæg.', '2022-12-09', 'Jane Doe');

INDSÆT I blogs (titel, indhold, dato_indsendt, forfatter)

VALUES ('Mit andet blogindlæg', 'Dette er indholdet af mit andet blogindlæg.', '2022-12-10', 'Jane Doe');

INDSÆT I blogs (titel, indhold, dato_indsendt, forfatter)

VALUES ('Mit tredje blogindlæg', 'Dette er indholdet af mit tredje blogindlæg.', '2022-12-11', 'Jane Doe');

vælg * fra blogs;

Resultattabel:

Vi kan bruge funktionen instr() til at få positionen af ​​understrengen 'blog' i indholdskolonnen som vist:

vælg titel, instr(indhold, 'post') fra blogs;

Resultat:

Konklusion

I denne øvelse lærte du, hvordan du bruger INSTR()-funktionen i MySQL til at finde positionen af ​​en understreng i en streng. Funktionen skelner mellem store og små bogstaver. Derfor skal du muligvis bruge funktioner såsom nedre og øvre for at konvertere søgestrengene til dine ønskede tilfælde.