Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/11/2006, 19h25   #1
jab
Rédacteur
 
Avatar de jab
 
Homme Jean-Alain Baeyens
SharePoint developpeur
Inscription : février 2004
Messages : 1 172
Détails du profil
Informations personnelles :
Nom : Homme Jean-Alain Baeyens
Âge : 48
Localisation : Belgique

Informations professionnelles :
Activité : SharePoint developpeur
Secteur : Service public

Informations forums :
Inscription : février 2004
Messages : 1 172
Points : 3 131
Points : 3 131
Envoyer un message via ICQ à jab Envoyer un message via MSN à jab Envoyer un message via Skype™ à jab
Par défaut Participez à la FAQ au travers de cette discussion

Bonjour,

Cette discution est ouverte pour vous permettre de participer facilement à la FAQ DB2. Postez votre question réponse et je me ferai une joie de l'ajouter dans la FAQ. Bien sur vous serez repris comme auteur de la question/réponse. Alors n'hésitez pas à apporter votre pierre à l'édifice.

Merci d'avance pour votre collabortion
jab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 10h20   #2
Membre régulier
 
Homme
Consultant informatique
Inscription : mars 2002
Messages : 68
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant informatique
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : mars 2002
Messages : 68
Points : 90
Points : 90
Par défaut Recherche sur des caractères spéciaux (%, _) en SQL sur DB2 pour i5

Comment rechercher enregistrement dont un champ contient les caractères % ou _ avec la fonction LIKE alors que % et _ sont des "wildcards" pour le SQL de l'i5 ?


Supposons que nous ayons un fichier avec 2 champs code et description et que nous souhaitions rechercher tous les codes dont la description contient un pourcentage.

Par exemple nous souhaitons récupérer tout les codes dont la description commence par 'SBA - 50 %'.

Etant donné que '%' est le caractère de remplacement nous ne pouvons utiliser

Code :
SELECT * FROM TABLE WHERE DESC LIKE 'SAB - 50 %%'
Cela ne marche pas et nous retourne les enregistrements commençants par SBA - 50 avec ou sans %.

Il faut pour cela utiliser la fonction escape de la façon suivante.

Code :
SELECT * FROM TABLE WHERE DESC LIKE 'SBA - 50 @%%' escape'@'
Escape permet de spécifier un caractère qui va identifier le caractère suivant comme étant une caractère et non un "wildcard"
__________________
Ancien rédacteur Java/J2EE ,C++Builder
Olivier Constans est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2007, 14h16   #3
jab
Rédacteur
 
Avatar de jab
 
Homme Jean-Alain Baeyens
SharePoint developpeur
Inscription : février 2004
Messages : 1 172
Détails du profil
Informations personnelles :
Nom : Homme Jean-Alain Baeyens
Âge : 48
Localisation : Belgique

Informations professionnelles :
Activité : SharePoint developpeur
Secteur : Service public

Informations forums :
Inscription : février 2004
Messages : 1 172
Points : 3 131
Points : 3 131
Envoyer un message via ICQ à jab Envoyer un message via MSN à jab Envoyer un message via Skype™ à jab
Citation:
Envoyé par Olivier Constans
Comment rechercher enregistrement dont un champ contient les caractères % ou _ avec la fonction LIKE alors que % et _ sont des "wildcards" pour le SQL de l'i5 ?


Supposons que nous ayons un fichier avec 2 champs code et description et que nous souhaitions rechercher tous les codes dont la description contient un pourcentage.

Par exemple nous souhaitons récupérer tout les codes dont la description commence par 'SBA - 50 %'.

Etant donné que '%' est le caractère de remplacement nous ne pouvons utiliser

Code :
SELECT * FROM TABLE WHERE DESC LIKE 'SAB - 50 %%'
Cela ne marche pas et nous retourne les enregistrements commençants par SBA - 50 avec ou sans %.

Il faut pour cela utiliser la fonction escape de la façon suivante.

Code :
SELECT * FROM TABLE WHERE DESC LIKE 'SBA - 50 @%%' escape'@'
Escape permet de spécifier un caractère qui va identifier le caractère suivant comme étant une caractère et non un "wildcard"
FAIT
jab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h01.


 
 
 
 
Partenaires

Hébergement Web