SORU
22 ŞUBAT 2011, Salı


SQL Server Base64 kodlama 2005 T-SQL

Base64 dize olarak bir dize kodlamak ben T-SQL sorgu yazmak istiyorum. Şaşırtıcı bir şekilde, T-SQL fonksiyonları Base64 kodlama yapmak için herhangi bir yerel bulamıyorum. Yerel bir işlevi var mı? T-SQL Base64 kodlama yapmak için en iyi yolu nedir?

CEVAP
23 Kasım 2011, ÇARŞAMBA


Biliyorum bu zaten cevap verdi, ama ben sadece harcanan daha fazla zaman daha çok önemsiyorum itiraf geliyor tek satır SQL ifadeleri bunu yapmak için, bu yüzden sizinle paylaşırım onları buraya diye başkasının yapması gereken aynı:

-- 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
;

Vardı bir sorgu tarafından oluşturulan tablodaki ilk (kodlama) sorgu çünkü ben bulamadım herhangi bir şekilde convert özgün değeri ("TestData") onaltılık dize gösterimi ("5465737444617461") dahil olarak tartışmaya x'ler:hexBinary() Web deyimi.

Bu kimse yardımcı olur umarım!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BlackmillMusic

    BlackmillMus

    3 Kasım 2010
  • gsmaestro

    gsmaestro

    17 AĞUSTOS 2006
  • TomKNJ

    TomKNJ

    26 ŞUBAT 2007