2009-08-10 8 views
2

J'ai une déclaration t-sql comme Replace(field,'\''','\"') parce que j'ai deux résultats différents '' field1 '' et "field2" mais si je considère ces deux résultats différents les mêmes et que je veux les regrouper . J'ai choisi de regrouper ces deux en remplaçant les premières doubles guillemets par le deuxième style, mais bien qu'elles soient remplacées, elles ne sont pas interprétées comme le même type de citation.t-sql remplacement des guillemets

Qu'est-ce qui me manque ici ??

Édité: J'essaie de regrouper des données où le texte est le même mais les citations diffèrent, l'utilisateur entre deux guillemets simples «bonjour» et un double guillemet «bonjour», si j'ai ces deux lignes j'essaie de affichez-les comme un "bonjour", donc en exécutant la déclaration ci-dessus, je pense que je devrais être en mesure de le faire, mais il ne fonctionne pas correctement, même sans slash.

+0

Pourriez-vous élaborer un peu? Je suis complètement perdu pour ce que vous demandez et à quoi ressemblent vos données ... –

Répondre

6

oeil à ce code:

DECLARE @X varchar(20) 
SET @X='''''Hello"' 

PRINT @X 
PRINT REPLACE(@X,'''''','"') 
PRINT REPLACE(REPLACE(@X,'''''',''''),'"','''') 

est ici la sortie:

''Hello" 
"Hello" 
'Hello' 

SQL Server n'échappe pas de guillemets avec des barres obliques, une citation simple est échappé avec un autre guillemet simple. Ce imprimera un seul qoute:

print '''' 

ce imprimera deux guillemets simples:

print '''''' 
Questions connexes