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

  • Adam Khoury

    Adam Khoury

    23 Ocak 2008
  • AFISHAL

    AFISHAL

    7 Mart 2009
  • ELPRESADOR

    ELPRESADOR

    21 HAZİRAN 2008