Aracılığıyla paylaş


BASE64_DECODE (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2025 (17.x) Azure SQL Veritabanı Microsoft Fabric'teAzure SQL Yönetilen ÖrneğiSQL analiz uç noktası ve Microsoft Fabric'teki Microsoft FabricSQL veritabanındaki Ambar

BASE64_DECODE Base64 ile kodlanmış bir varchar ifadesini ilgili 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ş ikiden fazla doldurma karakteri veya doldurma karakteri ve ardından fazladan geçerli giriş içeriyorsa, işlevi 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, dize Base64 kodu çözüldü şeklindedir. 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ğinden farklı olarak, bu örnekte Base64 dizesini kodlamak için RFC 4648 Tablo 2 (url_safe) kullanılır. Ancak, B örneğiyle aynı şekilde kodunu çözebilirsiniz.

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 Base64 karakterleri olmayan karakterler 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".