मुझे पता है कि यह पहले ही जवाब दे दिया गया है, लेकिन मैंने इसे पूरा करने के लिए सिंगल-लाइन एसक्यूएल स्टेटमेंट के साथ आने की परवाह करने से ज्यादा समय बिताया है, इसलिए मैं उन्हें यहां साझा करूंगा यदि किसी और को भी ऐसा करने की आवश्यकता है:
-- 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
;
मुझे पहली (एन्कोडिंग) क्वेरी में एक उप-वर्ग-जनरेटेड तालिका का उपयोग करना पड़ा क्योंकि मुझे मूल मान ("TestData") को उसके हेक्स स्ट्रिंग प्रतिनिधित्व ("5465737444617461") में तर्क के रूप में शामिल करने का कोई तरीका नहीं मिला। xs: XQuery स्टेटमेंट में हेक्सबिनरी ()।
मुझे उम्मीद है इससे किसी को सहायता मिलेगी!