Bonjour,
Disons que je fasse une requête dont une des colonnes (disons COL1) peut contenir 0,1,2 ou plus de caractères considérés comme wildcards, genre % _ [] ^ - ! * #
Comment est-ce que je pourrais faire pour rajouter dans ma requête une colonne COL2 qui comprendrait un like sur COL1 ? Je ne voudrais pas en effet que les wildcards soit interprêtés comme tels mais uniquement comme les caractères qu'ils sont. Je voudrais pouvoir échapper automatiquement tous les caractères "spéciaux". Est-ce qu'il n'y a pas un "truc" du genre faire précéder par @ ou @@ ma colonne COL1 pour qu'aucun des caractères la composant ne soit interprêté ?
Exemple :
Merci pour votre aide,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 select ID, COL1 from MyTable => ID COL1 1 aaa%[re] 2 prefixaaabbb%[re] 3 prefixaaaccc%[re] select 'prefix' + mt1.COL1 + '%', mt1.COL1, (case when exists(select 1 from #jjg mt2 where mt1.id = mt2.id and mt2.COL1 like 'prefix' + mt1.COL1 + '%') then 'MEME COL1 AVEC prefix EXISTE' else 'MEME COL1 AVEC prefix EXISTE PAS' end) as COL2 from MyTable mt1 Le rendu ici serait : COL1 COL2 aaa%[re] MEME COL1 AVEC prefix EXISTE PAS prefixaaabbb%[re] MEME COL1 AVEC prefix EXISTE PAS prefixaaaccc%[re] MEME COL1 AVEC prefix EXISTE PAS au lieu de ceci attendu : COL1 COL2 aaa%[re] MEME COL1 AVEC prefix EXISTE prefixaaabbb%[re] MEME COL1 AVEC prefix EXISTE PAS prefixaaaccc%[re] MEME COL1 AVEC prefix EXISTE PAS
Partager