2017-11-23 44 views
0

Ich versuche, diese Zeichenfolge varbinary in SQL Server zu konvertieren:Warum die Konvertierung von varchar zu varbinary eine Abfrage "?" SQL Server

select convert (varbinary(max),'<H2>Un titre</H2><INPUT value="some textre"> <INPUT id=param0 type=hidden value=1031> <INPUT id=exam0 type=hidden value=14711>') 

es gibt diese:

0x3C48323E556E2074697472653C2F48323E3C494E5055542076616C75653D22736F6D6520746578747265223E203C494E5055542069643D706172616D3020747970653D68696464656E2076616C75653D313033313E203C494E5055542069643D6578616D3020747970653D68696464656E2076616C75653D31343731313E 

Für einen anderen Grund, warum ich varbinary-varchar konvertieren möchten, und ich Dieses Ergebnis:

?<H2>Un titre</H2><INPUT value="some textre"> <INPUT id=param0 type=hidden value=1031> <INPUT id=exam0 type=hidden value=14711> 

Ich möchte nicht das "?" im Ergebnis.

Warum speichert SQL Server es am Anfang mit 0x? Und wie kann ich das vermeiden?

+0

[? Wo ist die '' Sie sprechen] (http://rextester.com/XEMU33435) – Sami

+0

zu Beginn des Konvertiten resultieren aus varbinary – Hamza

+0

in varchar scheint, wie Sie sehe nicht die Ergebnisse in meinem commnt – Sami

Antwort

0

Tun Sie dies stattdessen. Dann wird es Ihnen die gewünschte Ausgabe geben.

declare @b varbinary(max) 
set @b = 0x3C48323E556E2074697472653C2F48323E3C494E5055542076616C75653D22736F6D6520746578747265223E203C494E5055542069643D706172616D3020747970653D68696464656E2076616C75653D313033313E203C494E5055542069643D6578616D3020747970653D68696464656E2076616C75653D31343731313E 
select CAST(@b as varchar(max)) 

oder

declare @b varbinary(max) 
set @b = (select convert (varbinary(max),'<H2>Un titre</H2><INPUT value="some textre"> <INPUT id=param0 type=hidden value=1031> <INPUT id=exam0 type=hidden value=14711>')) 
select CAST(@b as varchar(max)) 

Ergebnis

enter image description here

EDIT

Wenn Sie 0x abzuschneiden, dann müssen Sie w Ritus wie folgt aus:

declare @d varbinary(max) 
declare @c varbinary(max) 
set @c = (select convert (varbinary(max),'<H2>Un titre</H2><INPUT value="some textre"> <INPUT id=param0 type=hidden value=1031> <INPUT id=exam0 type=hidden value=14711>')) 
select CONVERT(varchar(1000),@c,2) 
+0

danke, wie kann ich in dieser auswahl verwenden – Hamza

Verwandte Themen