comment utiliser les citations à l'intérieur d'une instruction transact sql
je veux utiliser les citations à l'intérieur d'une instruction transact sql, puis exécuter cette instruction.
par exemple, ma question est:
Select * FROM MyTable WHERE MyTable.Id = '1'
maintenant, je veux l'utiliser comme ceci:
Declare @SQLQuery AS NVarchar(4000)
SET @SQLQuery = ' Select * FROM MyTable WHERE MyTable.Id = '1' '
Execute (@SQLQuery)
- ce pas le travail, et cette erreur s'est produite :
Nom de colonne non valide '1'
Je sais que le problème est citations à gauche et à droite de l'1
ceci est un exemple et je veux l'utiliser de cette façon à une requête importante
bien sûr, je veux utiliser une variable locale à la place par exemple " 1 " et que ma variable locale est de type varchar
une idée?
OriginalL'auteur hamed aj | 2011-07-26
Vous devez vous connecter pour publier un commentaire.
Juste d'échapper les guillemets:
changement
à
** Edit **
Pour inclure une variable locale dans le résultat, vous pouvez mettre à jour votre requête comme ceci:
Il aurait été préférable de préciser que vous avez réellement voulu utiliser une variable locale dans votre question initiale.
grâce Narnian, vous le dites droite et j'ai édité mon Q
Mise à jour de la réponse juste besoin de convertir votre variable pour s'assurer que vous avez affaire à des types appropriés. Vous auriez probablement aussi envie d'un look à l'aide de paramètres plutôt que de sql dynamique.
Oui, fonction de conversion est efficace. merci d'avance
OriginalL'auteur Ryan
Doubler les guillemets simples dans la citation!
OriginalL'auteur Mat
Double tiques de leur échapper:
Si vous souhaitez utiliser une variable locale comme vous le mentionnez dans votre commentaire, vous pouvez le faire:
OriginalL'auteur Narnian
envelopper l'un de devis unique en plus comme
'''
et les tics fonctionnera aussi bien.OriginalL'auteur webLacky3rdClass
Essayez d'utiliser les doubles guillemets à la place:
OriginalL'auteur Beth