Les caractères doivent être échappés en Tsql
Je cherchais une liste de caractères spéciaux qui doivent être échappés dans ms sql server, mais ne pouvait pas en trouver un, et la plupart des réponses que j'ai vu pour les questions similaires conseillé d'utiliser des requêtes Paramétrées.. que je fais déjà, mais le cadre que je suis ne fait pas n'importe échapper pour moi.
Donc j'ai pensé que je vais donner un tas de ceux de l'essayer et de voir celui qui échoue.... et j'ai essayé une requête simple
select * from x where value = '<characters>'
dans cette requête, j'ai essayé presque tous les personnages que j'ai pu trouver sur mon clavier et tous d'entre eux semblent fonctionner... en plus de la Simple Citation.. que l'on échoue.
Donc je veux savoir la liste des caractères qui ne sont pas valides et doivent être échappés dans ms sql server - tsql et ne veulent pas prendre le risque de juste s'échapper l'apostrophe et de laisser le reste qui pourrait causer des problèmes
Remercie de votre aide
- Hein? Quel est le problème avec les requêtes paramétrées?
- ils se comportent différemment dans différents cadres... ne fonctionne pas pour moi
- Ensuite, vous devez résoudre ce problème.
- Nous ne pouvons pas les utiliser avec notre héritage de niveau intermédiaire.
Vous devez vous connecter pour publier un commentaire.
Le seul personnage qui a besoin de s'échapper dans une chaîne de caractères est un guillemet simple (ce qui est fait avec deux guillemets simples ensemble). Sinon, c'est une chaîne et t-sql de chichi avec elle pas plus loin.
Si vous utilisez une instruction LIKE, de voir cette SI sujet Échapper à une chaîne de caractères dans SQL Server de sorte qu'il est sûr à utiliser COMME expression
En aparté, tout cadre qui ne me laisse pas utiliser les paramètres, cela ne veut pas sortir correctement des choses pour moi, est un dur à arrêter. Essayer de désinfecter l'entrée de chaîne manuellement, c'est comme s'appuyant sur l'extraction par la méthode; finalement il va vous.
Pas sûr que ce soit exact.
%
et.
et d'autres caractères génériques selon la requête, peuvent également avoir besoin de s'échapper.lorsque vous êtes à la recherche pour un point. On va à l'échec
Je voulais juste dire que le tiret bas ( _ ) doit également être échappé.
select * from Produits où SomeColumn comme 'FD[_]%'
Par le chemin, rien de mal avec les requêtes paramétrées, mais parfois vous voulez aller à la SQL management console rapidement et exécutez une requête pour trouver quelque chose.