Fonction MySQL INSTR()

Fonction Mysql Instr



Dans ce tutoriel, nous allons apprendre à utiliser la fonction MySQL INSTR() pour déterminer la position de la première occurrence d'une sous-chaîne donnée.

Fonction MySQL INSTR()

En utilisant la fonction instr(), nous pouvons fournir une chaîne et une sous-chaîne. La fonction déterminera si la sous-chaîne existe dans la chaîne source. Si la sous-chaîne existe, la fonction renverra la position de la première occurrence de la sous-chaîne dans la chaîne source.

Si la sous-chaîne n'existe pas dans la chaîne source, la fonction renverra 0.







Voici la syntaxe de la fonction instr() :



INSTR(chaîne_src, sous_chaîne);

La fonction accepte deux paramètres principaux :



  1. La chaîne_src fait référence à la chaîne source dans laquelle vous souhaitez effectuer la recherche.
  2. La sub_string définit la sous-chaîne que vous recherchez.

Il est bon de garder à l'esprit que la fonction instr() est insensible à la casse. Par conséquent, la fonction ne localisera que les modèles correspondants sans tenir compte de la casse des caractères,





Pour effectuer une recherche sensible à la casse, vous pouvez utiliser d'autres outils, tels que l'opérateur binaire.

Exemple d'utilisation de la fonction

Les exemples suivants montrent comment nous pouvons utiliser la fonction instr() pour rechercher une sous-chaîne spécifique.



SELECT INSTR('MySQL est un moteur de base de données génial', 'base de données') as pos;

L'exemple ci-dessus renverra la position de départ de la chaîne 'base de données' à partir de la chaîne source. Dans ce cas, la position de la chaîne de la base de données est 21, comme indiqué dans la sortie ci-dessous :

position|

---+

21|

Exemple 2

Nous pouvons utiliser les fonctions lower() ou upper pour convertir une chaîne en minuscules ou en majuscules. Cela peut nous aider à surmonter la nature sensible à la casse de la fonction.

Exemple:

SELECT INSTR(lower('MySQL est un moteur de base de données génial'), lower('DATABASE')) as pos;

Résultat:

position|

---+

21|

Cela renverra une valeur similaire au premier exemple, car la chaîne source et la sous-chaîne sont converties en minuscules avant l'opération de recherche.

Exemple 3

Nous pouvons également utiliser la fonction instr() avec une colonne de table, comme indiqué dans la syntaxe ci-dessous.

SELECT INSTR(nom_colonne, 'sous-chaîne')

FROM nom_table ;

Exemple:

Blogues CRÉER TABLE (

id INT NOT NULL AUTO_INCREMENT CLÉ PRIMAIRE,

titre VARCHAR(255) NOT NULL,

contenu TEXTE NON NULL,

date_posted DATE NON NULLE,

auteur VARCHAR(255) NOT NULL

);

Insérez quelques données :

INSERT INTO blogs (titre, contenu, date_posted, auteur)

VALUES ('Mon premier article de blog', 'Ceci est le contenu de mon premier article de blog.', '2022-12-09', 'Jane Doe');

INSERT INTO blogs (titre, contenu, date_posted, auteur)

VALEURS ('Mon deuxième article de blog', 'Ceci est le contenu de mon deuxième article de blog.', '2022-12-10', 'Jane Doe');

INSERT INTO blogs (titre, contenu, date_posted, auteur)

VALEURS ('Mon troisième article de blog', 'Ceci est le contenu de mon troisième article de blog.', '2022-12-11', 'Jane Doe');

sélectionnez * parmi les blogs ;

Tableau résultant :

Nous pouvons utiliser la fonction instr() pour obtenir la position de la sous-chaîne « blog » dans la colonne de contenu, comme indiqué :

sélectionner le titre, l'instruction (contenu, 'post') des blogs ;

Résultat:

Conclusion

Dans ce tutoriel, vous avez appris à utiliser la fonction INSTR() dans MySQL pour trouver la position d'une sous-chaîne dans une chaîne. La fonction est sensible à la casse. Par conséquent, vous devrez peut-être utiliser des fonctions telles que inférieur et supérieur pour convertir les chaînes de recherche dans les cas souhaités.