MySQL INSTR() függvény
Az instr() függvény segítségével megadhatunk egy karakterláncot és egy részstringet. A függvény meghatározza, hogy az alkarakterlánc létezik-e a forráskarakterláncban. Ha az alkarakterlánc létezik, a függvény visszaadja a részkarakterlánc első előfordulásának pozícióját a forráskarakterláncban.
Ha az alkarakterlánc nem létezik a forráskarakterláncban, a függvény 0-t ad vissza.
Az alábbiakban bemutatjuk az instr() függvény szintaxisát:
INSTR(src_string, sub_string);
A függvény két fő paramétert fogad el:
- Az src_string arra a forráskarakterláncra utal, amelyben keresni kíván.
- Az al-karakterlánc határozza meg azt az alkarakterláncot, amelyre keres.
Érdemes szem előtt tartani, hogy az instr() függvény nem érzékeny a kis- és nagybetűkre. Ezért a funkció csak a megfelelő mintákat találja meg, figyelmen kívül hagyva a kis- és nagybetűket,
A kis- és nagybetűket megkülönböztető keresés végrehajtásához használhat más eszközöket, például a bináris operátort.
Példa funkcióhasználatra
A következő példák bemutatják, hogyan használhatjuk az instr() függvényt egy adott részkarakterlánc keresésére.
SELECT INSTR('A MySQL egy fantasztikus adatbázis-motor', 'adatbázis') as pos;
A fenti példa az „adatbázis” karakterlánc kezdőpozícióját adja vissza a forráskarakterláncból. Ebben az esetben az adatbázis-karakterlánc pozíciója 21, ahogy az alábbi kimeneten látható:
poz|---+
21|
2. példa
Használhatunk alsó() vagy felső függvényeket, hogy egy karakterláncot kis- vagy nagybetűssé alakítsunk. Ez segíthet leküzdeni a függvény kis- és nagybetűk érzékenységét.
Példa:
SELECT INSTR(lower('A MySQL egy fantasztikus adatbázismotor'), low('DATABASE')) as poz.Eredmény:
poz|
---+
21|
Ez hasonló értéket ad vissza, mint az első példa, mivel a forráskarakterlánc és az alkarakterlánc a keresési művelet előtt kisbetűvé alakul.
3. példa
Az instr() függvényt táblázatoszloppal is használhatjuk, ahogy az alábbi szintaxisban látható.
SELECT INSTR(oszlopnév, 'alkarakterlánc')FROM tábla_neve;
Példa:
TÁBLÁZAT blogok létrehozása (azonosító INT NEM NULL AUTO_INCREMENT ELSŐDLEGES KULCS,
title VARCHAR(255) NOT NULL,
tartalom SZÖVEG NEM NULL,
date_posted DATE NOT NULL,
szerző VARCHAR(255) NOT NULL
);
Szúrjon be néhány adatot:
INSERT INTO blogok (cím, tartalom, dátum_közzététel, szerző)
ÉRTÉKEK ('Az első blogbejegyzésem', 'Ez az első blogbejegyzésem tartalma.', '2022-12-09', 'Jane Doe');
INSERT INTO blogok (cím, tartalom, dátum_közzététel, szerző)
ÉRTÉKEK ('Második blogbejegyzésem', 'Ez a második blogbejegyzésem tartalma', '2022-12-10', 'Jane Doe');
INSERT INTO blogok (cím, tartalom, dátum_közzététel, szerző)
ÉRTÉKEK ('Harmadik blogbejegyzésem', 'Ez a harmadik blogbejegyzésem tartalma.', '2022-12-11', 'Jane Doe');
válasszon * a blogokból;
Eredmény táblázat:
Használhatjuk az instr() függvényt, hogy megkapjuk a „blog” részkarakterlánc pozícióját a tartalom oszlopban, az alábbi módon:
cím, instr(tartalom, 'bejegyzés') kiválasztása a blogokból;Eredmény:
Következtetés
Ebben az oktatóanyagban megtanulta, hogyan kell használni az INSTR() függvényt a MySQL-ben, hogy megtalálja egy karakterláncon belüli részkarakterlánc pozícióját. A függvény megkülönbözteti a kis- és nagybetűket. Ezért előfordulhat, hogy olyan függvényeket kell használnia, mint az alsó és felső, hogy a keresési karakterláncokat a kívánt esetekre konvertálja.