Maison >base de données >tutoriel mysql >Comment puis-je effectuer des comparaisons de chaînes insensibles à la casse dans PostgreSQL ?

Comment puis-je effectuer des comparaisons de chaînes insensibles à la casse dans PostgreSQL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-28 08:35:14488parcourir

How Can I Perform Case-Insensitive String Comparisons in PostgreSQL?

Comparaison de chaînes insensibles à la casse dans PostgreSQL

Dans PostgreSQL, vous devrez parfois effectuer des comparaisons de chaînes insensibles à la casse pour une correspondance de données plus flexible.

Une façon d'y parvenir consiste à utiliser l'opérateur ilike, qui est similaire à like, mais ignore les différences de casse. Par exemple :

SELECT * 
WHERE email ilike '[email protected]'

Notez qu'ilike utilise le caractère barre oblique inverse pour échapper les caractères spéciaux. Pour utiliser d'autres caractères comme [ ou ], vous pouvez utiliser la fonction replace() pour les échapper.

Par exemple :

WHERE email ilike replace(replace(replace(, '~', '~~'), '%', '~%'), '_', '~_') escape '~'

Vous pouvez également créer une fonction pour échapper du texte avant effectuer la comparaison similaire.

Pour comparer avec un tableau de valeurs insensibles à la casse, vous pouvez utiliser any() :

WHERE email ilike any(array['[email protected]', '[email protected]'])

Avec ces méthodes, vous pouvez effectuer des comparaisons de chaînes insensibles à la casse dans PostgreSQL, offrant ainsi une flexibilité supplémentaire dans vos requêtes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn