SQL Server Échapper un trait de Soulignement
Comment échapper le caractère de soulignement?
Je suis en train d'écrire quelque chose comme ce qui suit, lorsque la clause et que vous voulez être en mesure de trouver des entrées réelles avec _d à la fin.
Where Username Like '%_d'
Vous devez vous connecter pour publier un commentaire.
T-SQL de Référence pour COMME pour SQL Server 2000:
Pour votre cas:
Évidemment @Lasse solution est bonne, mais il y a une autre façon de résoudre votre problème: T-SQL opérateur
LIKE
définit l'option ÉCHAPPER clause, qui vous permet de déclarer un personnage qui va s'échapper le caractère suivant dans le modèle.Pour votre cas, les requêtes suivantes sont équivalentes:
ESCAPE
clause fait partie de la norme SQL et fonctionne sur n'importe quel SGBD, et pas seulement de SQL Server.Ces solutions totalement sens. Malheureusement, il n'a fonctionné pour moi comme prévu. Au lieu d'essayer de soucis avec ça, je suis allé avec un travail autour de:
Cela a fonctionné pour moi, il suffit d'utiliser l'évasion
'%\_%'
Aucun de ces fonctionné pour moi dans SSIS v18.0, donc, je voudrais faire quelque chose comme ceci:
WHERE CHARINDEX('_', thingyoursearching) < 1
..où je suis en essayant d'ignorer les cordes avec un trait de soulignement en eux. Si vous voulez trouver des choses qui ont un caractère de soulignement, il suffit de retourner autour de:
WHERE CHARINDEX('_', thingyoursearching) > 0