2016-11-24 3 views
0

Lassen Sie sagen, ich einen Anruf varchar(100) müssen VarBinary @hexString und icheinen Hex String Cast in SQL Server

SET @hexString ='0x47617279204a6f686e736f6e2032303230' 

Wie ich diesen varchar zu einer tatsächlichen hexidecimal werfen Sie 0x47617279204a6f686e736f6e2032303230 (ohne die Anführungszeichen)?

+0

, wenn Sie diese Option auswählen, es wird nicht Anführungszeichen – mohan111

+0

@ mohan111 zeigen Ich weiß, aber ich will „Cast“ diese varchar zu einem varbinary, wie eine tatsächliche Sequenz von Hex-Zahlen anstelle einer Zeichenfolge. –

+0

Sie möchten diesen Text ohne das Vorhandensein von Qoutation-Zeichen umwandeln? –

Antwort

2

Verwenden CONVERT mit einem "Stil" Wert von 1:

DECLARE @HexString VARCHAR(100); 
SET @HexString = '0x47617279204a6f686e736f6e2032303230'; 

SELECT CONVERT(VARBINARY(100), @HexString, 1); 

Der "Stil" Wert ist ein optionaler dritter Parameter an die Funktion CONVERT.

, dass die folgenden als VARBINARY Typ zurückgibt, nicht einen String:

0x47617279204A6F686E736F6E2032303230