it-swarm.com.de

Varbinary zu Zeichenfolge auf SQL Server

Wie konvertiert man einen Spaltenwert von varbinary(max) in varchar in lesbarer Form?

83
Bilgin Kılıç

"Ein varbinary in ein varchar konvertieren" kann verschiedene Bedeutungen haben.

Wenn das Varbinary die binäre Darstellung einer Zeichenfolge in SQL Server ist (z. B. durch direktes Umwandeln in varbinary oder aus den Funktionen DecryptByPassPhrase oder DECOMPRESS zurückgegeben), können Sie nur CAST it

declare @b varbinary(max)
set @b = 0x5468697320697320612074657374

select cast(@b as varchar(max)) /*Returns "This is a test"*/

Dies entspricht der Verwendung von CONVERT mit dem Stilparameter 0.

CONVERT(varchar(max), @b, 0)

Andere Stilparameter sind mit CONVERT für andere Anforderungen verfügbar, wie in anderen Antworten angegeben.

78
Martin Smith

Der folgende Ausdruck hat für mich funktioniert:

SELECT CONVERT(VARCHAR(1000), varbinary_value, 2);

hier sind weitere Details zur Auswahl des Stils (der dritte Parameter).

128
Gunjan Juyal

Eigentlich ist die beste Antwort

SELECT CONVERT(VARCHAR(1000), varbinary_value, 1);

mit "2 "schneidet das" 0x "am Anfang des varbinary.

49
Lara Mayugba

Versuche dies

SELECT CONVERT(varchar(5000), yourvarbincolumn, 0)
13
dmajkic

Für eine VARBINARY (MAX) -Spalte musste ich NVARCHAR (MAX) verwenden

cast(Content as nvarchar(max))

Oder

CONVERT(NVARCHAR(MAX), Content, 0)

VARCHAR (MAX) hat nicht den gesamten Wert angezeigt

0
kristoffer_o