Decode Base64 SQL सर्वर में मूल रूप से स्ट्रिंग


15

मेरे पास varcharSQL सर्वर में एक तालिका में एक स्तंभ है जो एक बेस 64-एन्कोडेड टेक्स्ट स्ट्रिंग रखता है जिसे मैं सादे पाठ समकक्ष में डिकोड करना चाहूंगा

क्या SQL सर्वर के पास इस प्रकार की चीज़ को संभालने के लिए कोई मूल कार्यक्षमता है?

एक नमूना बेस 64 स्ट्रिंग:

cm9sZToxIHByb2R1Y2VyOjEyIHRpbWVzdGFtcDoxNDY4NjQwMjIyNTcxMDAwIGxhdGxuZ3tsYXRpdHVkZV9lNzo0MTY5ODkzOTQgbG9uZ2l0dWRlX2U3Oi03Mzg5NjYyMTB9IHJhZGl1czoxOTc2NA==

कौन सा डिकोड होता है:

role:1 producer:12 timestamp:1468640222571000 latlng{latitude_e7:416989394 longitude_e7:-738966210} radius:19764

जवाबों:


20

पता लगा लिया:

SELECT 
    CONVERT
    (
        VARCHAR(MAX), 
        CAST('' AS XML).value('xs:base64Binary(sql:column("BASE64_COLUMN"))', 'VARBINARY(MAX)')
    ) AS RESULT
FROM
    (
        SELECT 'cm9sZToxIHByb2R1Y2VyOjEyIHRpbWVzdGFtcDoxNDY4NjQwMjIyNTcxMDAwIGxhdGxuZ3tsYXRpdHVkZV9lNzo0MTY5ODkzOTQgbG9uZ2l0dWRlX2U3Oi03Mzg5NjYyMTB9IHJhZGl1czoxOTc2NA==' AS BASE64_COLUMN
    ) A

आउटपुट:

role:1 producer:12 timestamp:1468640222571000 latlng{latitude_e7:416989394 longitude_e7:-738966210} radius:19764

बस बाहर स्वैप BASE64_COL_NAMEअपने स्तंभ नाम के लिए, या आप की जगह ले सकता sql:column("BASE64_COLUMN")के साथ sql:variable("@base64variable")आप एक घोषित चर जैसे उपयोग करने के लिए यदि आप एक समारोह या कुछ और कर रहे हैं चाहते हैं।

यह एक XSL ट्रांसफ़ॉर्मेशन का उपयोग बिल्ट-इन XML कार्यक्षमता (SQL सर्वर 2005 के बाद से) करता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.