2011-01-04 2 views
0

Spalte mit dem Namen: Text in der Tabelle des Datentyps - Text
Beispieldaten enthalten HTML-Tags und Hyperlinks. Die Hyperlinks verwenden ein einfaches Zitat.Übergeben Sie in Anführungszeichen in Funktion REPLACE gibt Fehler. Wie kann ich das erreichen?

Wenn ich versuche, das Apostroph mit einem doppelten Anführungszeichen mit der T-SQL-Funktion unten zu ersetzen:

REPLACE(Body, '''', '"') 

gibt mir den Fehler unten --- angegeben>

Argument Datentyp Text ist ungültig für Argument 1 der Replace-Funktion.

Frage: Können Sie mir sagen, wie ich eine HTML-formatierte Spalte in T-SQL mit einfachen Anführungszeichen in Hyperlinks in eine REPLACE-Funktion übergeben kann? Diese

gearbeitet: Wählen Sie REPLACE (CAST (Body als varchar (max)), '' '' '"') als Bdy FROM TABLE

Ich habe versucht, das Schreiben einer Funktion (Code unten angegeben):

DECLARE @Temp VARCHAR(MAX) 
Set @Temp = THIS CONTAINS THE HTML FORMATTED TEXT WITH HYPERLINK IN SINGLE QUOTE'; 
Set @Temp = REPLACE(@Temp , '''', '"') 
Select @Temp; 

Und die Funktion angibt, schlägt fehl

Incorrect syntax near '/'.

+0

Sie sollten varchar (max) nicht TEXT als Spalte Datentyp verwenden –

+0

Ich verwende VARCHAR (MAX) in der Funktion, die ich ersetze, aber die Spalte hat einen Datentyp TEXT. – Ruruboy

+0

Sie müssen sicherstellen, dass alle einfachen Anführungszeichen in Ihrem Zeichenfolgenliteral durch das Verdoppeln verdunkelt werden. –

Antwort

0

bearbeiten basierend auf Ihren Kommentar: Sie haben text-varchar versucht Gießen L? ike:

REPLACE(cast(Body as varchar(max)), '''', '"') 

Alte Antwort: In SQL wird ein einzelnes Zitat durch ein anderes einzelnes Zitat geschützt. So sollten Sie tun:

REPLACE(Body, '''', '"') 

Das ist vier einfache Anführungszeichen, Komma, einzelne Qoute, doppelte Anführungszeichen, einzelnes Zitat.

+0

Ich entkomm schon das einfache Zitat mit einem anderen einzelnen Anführungsstrich, der 4 einzelne Anführungszeichen ist. Das Problem ist, dass wenn ich die Datenspalte BODY übergebe, die HTML-formatierte Hyperlinks enthält, die einfache Anführungszeichen enthalten. Ich bekomme diese Fehlermeldung, die ich angegeben habe. – Ruruboy

+0

DECLARE @Temp VARCHAR (MAX) Einstellung @Temp = 'test

Verwandte Links
link name
'; Setzen Sie @Temp = REPLACE (@Temp, '' '', '' ') Wählen Sie @Temp; – Ruruboy

+0

@Ruruboy: Die appplication Generieren, dass die einfachen Anführungszeichen zu entkommen, sonst sendet er schlecht formatierte SQL an den Datenbankserver. – Andomar

Verwandte Themen