2011-05-14 3 views
0

je dois insérer une chaîne avec » dans, par exemple « xyx », Après quelques recherches, je découvre la syntaxe suivante:SQL Server: comment insérer le « caractère

table_b.element = 'replace('x.y.x','',''')' 

le problème est que SQL Server me donne une erreur:

Unclosed quotation mark after the character string ')

Comment puis-je résoudre ce cas? J'ai passé environ 2 heures à ce sujet.

Y a-t-il un caractère d'échappement que je dois utiliser?

Répondre

3

Vous devez écrire deux guillemets simples:

replace('x.y.x','','''') 

(Ceci est vrai pour toutes les bases de données SQL)

0

' réchappés avec '', donc si sa chaîne littérale dans une instruction SQL;

update t set fld = '''x.y.x''' 

Si votre passage une valeur à une procédure par exemple, ou votre construction une déclaration puis en utilisant la langue de votre client, vous devez replace(data, "'", "''") (ou utiliser des instructions préparées)

+0

« remplacer (» xyz »," » "," '' ") 'me donne un guillemet Unclosed après la chaîne de caractères') ' –

+0

Son désapprendre ce dont vous avez besoin? vous auriez rarement besoin d'utiliser replace() ** dans ** une instruction sql pour échapper à quoi que ce soit; Si votre passage/construction d'une chaîne contenant 'alors vous avez besoin de l'échapper dans votre langue du client –

Questions connexes