Les clauses 'like'

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 122 fois - Téléchargée 36 fois

Contenu du snippet

Avec la clause like on utilise toujours un masque de recherche qui décrit la structure générale des valeurs recherchées.

Dans ce masque, on peut se servir du caractère "_" qui désigne un caractère quelconque.
Dans ce masque, on peut se servir du caractère "%" qui désigne toute suite de caractères.

Mais un problème se pose lorsque l'on veut rechercher un de ces deux caractères dans un champs de base de données.

Pour y remédier, il suffit de les préfixer dans le masque par un caractère spécial que l'on défini dans une clause escape. (Voir exemple)

Source / Exemple :


pour la table :

create table RUBRIQUE
(

NO numeric(5,0) not null, 
NOM char(30) not null, 
FORMULE char(30) not null 

)

On peut formaliser ces requêtes LIKE :

SELECT * FROM RUBRIQUE
WHERE NOM LIKE '%$_%' escape '$'

OU ENCORE

SELECT * FROM RUBRIQUE
WHERE FORMULE LIKE '%$%%' escape '$'

A voir également

Ajouter un commentaire Commentaires
cs_vladam
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009

27 mai 2009 à 19:51
peux-tu donner quelques éléments ?
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
27 mai 2009 à 13:15
sur que devant une telle avalanche de détails, ta solution est en bonne voie !
cs_NEO5
Messages postés
4
Date d'inscription
dimanche 12 août 2007
Statut
Membre
Dernière intervention
11 août 2009

27 mai 2009 à 11:59
j'ai besoin de votre aide,j'ai saisi une requête qui m'envoie un bug.aidez moi.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.