Résumé: Ce tutoriel vous montre comment utiliser la fonction MySQL INSTR pour retourner la position de la première occurrence d’une chaîne.
Introduction à la fonction MySQL INSTR
parfois, vous voulez localiser une sous-chaîne dans une chaîne ou vérifier si une sous-chaîne existe dans une chaîne. Dans ce cas, vous pouvez utiliser une fonction intégrée de chaîne appelée INSTR.
Le INSTR la fonction renvoie la position de la première occurrence d’une sous-chaîne dans une chaîne., Si la sous-chaîne n’est pas trouvée dans le str, la fonction INSTR renvoie zéro (0).
ce qui suit illustre la syntaxe de la fonctionINSTR.
Code language: SQL (Structured Query Language) (sql)
Essayer
Le INSTR fonction accepte deux arguments:
- Le
strest la chaîne que vous souhaitez rechercher. - Le
substrest la sous-chaîne que vous souhaitez rechercher.
Le INSTR fonction n’est pas sensible à la casse., Cela signifie que peu importe si vous passez la minuscule, la majuscule, la casse du titre, etc. les résultats sont toujours les mêmes.
Si vous souhaitez que la fonctionINSTR effectue des recherches sensibles à la casse sur une chaîne non binaire, vous utilisez l’opérateurBINARY pour convertir l’argument de la fonctionINSTR d’une chaîne non binaire en chaîne binaire.
exemples de la fonction MySQL INSTR
l’instruction suivante renvoie la position de la sous-chaîne MySQL dans la chaîneMySQL INSTR.,
Code language: SQL (Structured Query Language) (sql)
Essayer
La déclaration suivante renvoie le même résultat, parce que le INSTR fonction est sensible à la casse.,
Code language: SQL (Structured Query Language) (sql)
Essayer
À force de INSTR fonction de recherche basée sur la casse de la mode, vous utilisez la balise BINARY opérateur comme suit:
Code language: SQL (Structured Query Language) (sql)
Essayer
Le résultat est différent parce que mysql vs MySQL maintenant avec la balise BINARY opérateur.
la fonction INSTR par rapport à l’opérateur LIKE
Nous utiliserons la tableproducts dans l’exemple de base de données.,
Supposons que vous voulez trouver des produits dont le nom contient la balise car mot clé, vous pouvez utiliser la balise INSTR fonction comme suit:
Code language: SQL (Structured Query Language) (sql)
Essayer
en plus de la balise INSTR function, vous pouvez utiliser la balise LIKE opérateur pour correspondre à la balise Car schéma.,
Code language: SQL (Structured Query Language) (sql)
Essayer
les Deux requêtes retournent le même résultat. Alors lequel est le plus rapide, l’opérateur INSTR ou LIKE?
La réponse est qu’ils sont les mêmes. Ils sont tous deux sensibles à la casse et effectuent des analyses de table complètes.
créons un index sur la colonneproductname.,
Code language: SQL (Structured Query Language) (sql)
Essayer
Si vous utilisez la balise LIKE opérateur avec le préfixe de recherche, sur cette colonne indexée, la balise LIKE opérateur sera plus rapide que le INSTR fonction.
Voir la déclaration suivante.,
Code language: SQL (Structured Query Language) (sql)
Try It Out
You can check it using the EXPLAIN statement:
Code language: SQL (Structured Query Language) (sql)
Try It Out
And compare with the following statement that uses the INSTR function.,
Essayer
Le INSTR fonction effectue une analyse de la table, même si la balise productname colonne a un index. En effet, MySQL ne peut faire aucune hypothèse sur la sémantique de la fonction INSTR, par laquelle MySQL peut utiliser sa compréhension de la sémantique de l’opérateur LIKE.
le moyen le plus rapide de tester si une sous-chaîne existe dans une chaîne est d’utiliser un index en texte intégral., Cependant, il est nécessaire une configuration et maintenir l’index correctement.
Dans ce tutoriel, vous avez appris comment utiliser la balise INSTR fonction pour trouver la position de la première occurrence d’une sous-chaîne dans une chaîne.
- ce tutoriel a Été utile?
- Ouinon
Leave a Reply