Bunun zaten yanıtlandığını biliyorum, ancak bunu başarmak için tek satırlık SQL ifadeleri bulmayı kabul ettiğimden daha fazla zaman harcadım, bu yüzden başka birinin de aynı şeyi yapması gerektiğinde bunları burada paylaşacağım:
-- Encode the string "TestData" in Base64 to get "VGVzdERhdGE="
SELECT
CAST(N'' AS XML).value(
'xs:base64Binary(xs:hexBinary(sql:column("bin")))'
, 'VARCHAR(MAX)'
) Base64Encoding
FROM (
SELECT CAST('TestData' AS VARBINARY(MAX)) AS bin
) AS bin_sql_server_temp;
-- Decode the Base64-encoded string "VGVzdERhdGE=" to get back "TestData"
SELECT
CAST(
CAST(N'' AS XML).value(
'xs:base64Binary("VGVzdERhdGE=")'
, 'VARBINARY(MAX)'
)
AS VARCHAR(MAX)
) ASCIIEncoding
;
İlk (kodlama) sorguda alt sorgu tarafından oluşturulmuş bir tablo kullanmak zorunda kaldım çünkü orijinal değeri ("TestData") onaltılık dize temsiline ("5465737444617461") bağımsız değişken olarak eklemek için herhangi bir yol bulamadım xs: XQuery deyimindeki hexBinary ().
Umarım bu birine yardımcı olur!