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
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"