Aracılığıyla paylaş


BASE64_DECODE (Transact-SQL)

Şunlar için geçerlidir:Azure SQL DatabaseSQL analytics endpoint and Warehouse in Microsoft FabricSQL database

BASE64_DECODE base64 kodlanmış bir varchar ifadesini karşılık gelen varbinary ifadeye dönüştürür.

Transact-SQL söz dizimi kuralları

Sözdizimi

BASE64_DECODE ( expression )

Arguments

ifade

Varchar(n) veya varchar(max) türünde bir ifade.

Dönüş türleri

  • giriş varchar(n) ise varbinary(8000).
  • giriş varchar(max) ise varbinary(max).
  • Giriş ifadesi ise NULL, çıkış olur NULL.

Açıklamalar

Kodlanmış dizenin alfabesi RFC 4648 Tablo 1'e ait olmalıdır ve doldurma gerekmese de doldurma içerebilir. RFC 4648 Tablo 2'de belirtilen URL güvenli alfabe de kabul edilir. Bu işlev boşluk karakterlerini yoksayar: \n, \r, \tve .

  • Giriş, RFC 4648 tarafından belirtilen standart veya URL güvenli alfabelerde bulunmayan karakterler içerdiğinde, işlev aşağıdaki hatayı döndürür:

    Msg 9803, Level 16, State 20, Line 15, Invalid data for type "Base64Decode"
    
  • Veriler geçerli karakterlere sahipse ancak yanlış biçimlendirilmişse işlev hata Msg 9803, State 21döndürür.

  • Girişte ikiden fazla doldurma karakteri veya doldurma karakteri varsa ve ardından fazladan geçerli bir giriş varsa işlev hata Msg 9803, State 23döndürür.

Örnekler

A. Standart BASE64_DECODE

Aşağıdaki örnekte base64 kodlanmış dizesinin kodu yeniden varbinary olarak çözülmektedir.

SELECT BASE64_DECODE('qQ==');

Sonuç kümesi aşağıdadır.

0xA9

B. Standart bir base64 dizesi BASE64_DECODE

Aşağıdaki örnekte, dizenin kodu base64 olarak çözüldü. Dizenin URL'de güvenli olmayan karakterler = ve /içerdiğine dikkat edin.

SELECT BASE64_DECODE('yv7K/g==');

Sonuç kümesi aşağıdadır.

0xCAFECAFE

C. BASE64_DECODE varchar url_safe base64 dizesi

B örneğinin aksine, bu örnek base64 dizesi RFC 4648 Tablo 2 ()url_safe kullanılarak kodlanmıştır, ancak B örneğiyle aynı şekilde çözülebilir.

SELECT BASE64_DECODE('yv7K_g');

Sonuç kümesi aşağıdadır.

0xCAFECAFE

D. BASE64_DECODE varchar, base64 alfabesinde olmayan karakterler içeriyor

Bu örnek, geçerli olmayan base64 karakterlerini içerir.

SELECT BASE64_DECODE('qQ!!');

Sonuç kümesi aşağıdadır.

Msg 9803, Level 16, State 20, Line 223
Invalid data for type "Base64Decode".