私はvarbinaryという列の1つを持つテーブルを持っています。実際にはbase64でエンコードされた文字列が含まれています。varchar/varbinaryのテーブル列全体をxmlに変換する
Table: Messages
Id | int
Payload | varbinary(MAX)
私は
select cast(Payload as varchar(max)) from Messages
は、しかし、私はキャストのこれらの種類が必要とされないように、XMLに列全体を変換する必要が使用してその内容を見ることができると私はXMLのようにはるかに長い文字列を格納することができます。 1つのエントリのために私は何かをすることができます
select convert(xml, (select top 1 cast(payload as varchar(max))
from Messages
)
) as PayLoad
for XML PATH('');
テーブル全体をxmlに変換するにはどうしたらいいですか?
おかげ
これは、単一のクエリでテーブル全体を返します。代わりに、私は、通常のselect文のように、XMLとして各行に対してbase64列を表示して、すべての行を取得したいとします。 「SELECT Id、CAST(PayLoad AS varchar(MAX))」のようなものがあります。これは、デコードされた文字列内のペイロードを持つグリッドとしてテーブル全体を返します。私はそれが各行の代わりにXMLであることを望みます – sppc42
あなたのbase64文字列の内容はXMLですか?あなたが書いているものを与えるために私のコードにもう1つの選択を加えたが、これはあなたが望むものだとは思わない。... – Shnugo
それはちょうど完璧な、感謝! – sppc42