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

  • Bryan Smith

    Bryan Smith

    12 Mart 2006
  • Jonah Penna

    Jonah Penna

    11 EYLÜL 2005
  • Submissions101

    Submissions1

    23 ŞUBAT 2007