Maison > base de données > tutoriel mysql > Comment puis-je interroger efficacement PostgreSQL pour les valeurs commençant par « 00 » et un troisième caractère différent de zéro ?

Comment puis-je interroger efficacement PostgreSQL pour les valeurs commençant par « 00 » et un troisième caractère différent de zéro ?

DDD
Libérer: 2024-12-26 17:58:09
original
532 Les gens l'ont consulté

How Can I Efficiently Query PostgreSQL for Values Starting with

Expression régulière dans la clause LIKE de PostgreSQL

Cette requête cherche à faire correspondre les valeurs commençant par « 00 » et ayant un troisième caractère différent de « 0 » ', comme dans '0090D0DF143A'. Cependant, la requête suivante ne parvient pas à correspondre :

SELECT * FROM table WHERE value LIKE '00[1-9]%'
Copier après la connexion

Pour résoudre ce problème, envisagez d'utiliser l'opérateur d'expression régulière « ~ » avec une expression entre crochets en dehors de la clause LIKE. Cependant, pour des performances optimales, une combinaison de clauses LIKE et NOT LIKE est recommandée :

SELECT *
FROM   tbl
WHERE  value LIKE '00%'
AND    value NOT LIKE '000%'
Copier après la connexion

La clause LIKE réduit efficacement les correspondances potentielles avec une expression ancrée à gauche, tandis que la clause NOT LIKE affine davantage la résultats. Postgres peut utiliser des index pour de telles expressions, ce qui accélère l'exécution des requêtes.

De plus, il est crucial d'ancrer le modèle au début de la chaîne en utilisant '^' dans les expressions régulières et d'utiliser des expressions entre crochets ' 1' pour correspondre à n'importe quel caractère autre que '0'.


    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 de ce site Web
    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
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal