SQL Recherche de cartes génériques

SQL Recherche de cartes génériques

Les caractères génériques sont des caractères spéciaux qui agissent comme des espaces réservés pour représenter une ou plusieurs valeurs. Ils sont déterminants lors de la recherche de modèles spécifiques dans des types de texte ou de chaîne.

Dans SQL, les jilèges jouent un rôle essentiel car ils vous permettent d'effectuer une recherche «floue» de valeurs correspondantes sans connaître la valeur exacte.

Dans cet article, nous explorerons divers personnages génériques dans SQL standard. Gardez à l'esprit que l'implémentation peut varier en fonction de votre moteur de données.

Caractères Wildcard SQL standard

Il existe deux types de caractères génériques pris en charge dans SQL standard:

Personnage Description
% (pourcentage de signe) Faites correspondre zéro ou plus de personnages
_ (signe de soulignement) Faire correspondre tout caractère unique

Remarque: Bien que tous les moteurs de base de données prennent en charge les wilancards mentionnés précédemment, MS Access utilise un astérisque (*) pour représenter zéro ou plus de caractères.

Utilisation des opérateurs de joker SQL

Nous utilisons la clause similaire pour rechercher des modèles de correspondance en utilisant. Dans certains cas, vous pouvez trouver la clause Ilike, une version insensible à la casse de l'opérateur comme.

Exemple d'utilisation I

Par exemple, pour rechercher tous les utilisateurs dont les noms commencent par AA, nous pouvons effectuer une requête comme indiqué ci-dessous:

Sélectionnez Column_name dans table_name où le nom comme '% aa';

La requête précédente devrait rechercher la table spécifiée pour tous les enregistrements correspondants dont le nom commence par AA.

Un exemple de résultat est illustré ci-dessous:

Aabid
Adeep
Aadeh
Aadam
Aaron

Vous pouvez également utiliser l'opérateur Ilike, qui correspondra à la recherche sans égard au boîtier.

Sélectionnez Column_name dans table_name où name ilike '% aa';
-- Aabid
-- Adeep
-- Aadeh
-- Aadam
-- Aaron

Remarque: Tous les moteurs de base de données peuvent ne pas prendre en charge l'opérateur ilike.

Vous pouvez également rechercher si une chaîne contient une sous-chaîne spécifique en exécutant la requête comme:

Sélectionnez Column_name (S) dans Table_Name où le nom comme «% Sun%»;

Dans la syntaxe précédente, SQL renverra toutes les chaînes qui contiennent le soleil de substrat.

Remarque: utilisez la fonction précédente avec prudence. Il peut entraîner des pénalités de performances importantes sur votre base de données, en particulier sur un grand ensemble de données.

Pour rechercher si une chaîne se termine par un caractère ou une sous-chaîne spécifique, exécutez la commande suivante:

Sélectionnez Column_name (S) dans Table_name où le nom comme '%.com ';

La commande précédente doit renvoyer toutes les chaînes correspondantes qui se terminent avec .com

Exemple d'utilisation II

Dans certains cas, vous voudrez peut-être rechercher un personnage correspondant. Dans ce cas, vous pouvez utiliser un joker de soulignement comme suit:

Sélectionnez Column_name (S) dans Table_Name où le nom comme '_e% r%';

L'exemple de requête précédente devrait rechercher des correspondances avec un seul caractère de départ.

Voici un exemple de résultat:

Pierre

Négation SQL

Bien que l'opérateur similaire et ilike soit idéal pour rechercher des enregistrements correspondants, vous voudrez peut-être travailler avec des enregistrements qui ne correspondent pas à la recherche de jacots spécifiée.

Pour cela, vous pouvez annuler votre résultat en définissant la condition comme non comme ou non comme indiqué ci-dessous:

Sélectionnez Column_name dans table_name où le nom n'est pas comme '% aa';

Dans ce cas, la commande précédente doit renvoyer tous les autres résultats sauf celui qui commence par AA.

Conclusion

Cet article a exploré en utilisant et en travaillant avec des opérateurs de joker dans SQL standard. Comme mentionné, certains moteurs de base de données peuvent implémenter plus ou moins de caractères génériques. Vérifiez la documentation de votre moteur pour en savoir plus. Nous espérons que vous avez trouvé cet article utile. Consultez les autres articles sur les conseils pour plus de conseils et de tutoriels.