Delen via


BASE64_DECODE (Transact-SQL)

Van toepassing op: SQL Server 2025 (17.x) Azure SQL DatabaseAzure SQL Managed InstanceSQL Analytics-eindpunt in Microsoft Fabric en Warehouse in Microsoft FabricSQL Database in Microsoft Fabric SQL Database in Microsoft Fabric

BASE64_DECODE converteert een met Base64 gecodeerde varchar-expressie naar de bijbehorende varbinaire expressie.

Transact-SQL syntaxis-conventies

Syntaxis

BASE64_DECODE ( expression )

Arguments

expressie

Een expressie van het type varchar(n) of varchar(max).

Retourtypen

  • varbinary(8000) als de invoer varchar(n)is.
  • varbinary(max) als de invoer varchar(max) is.
  • Als de invoerexpressie is NULL, is NULLde uitvoer .

Opmerkingen

Het alfabet van de gecodeerde tekenreeks moet dat van RFC 4648 Tabel 1 zijn en kan opvulling bevatten, hoewel opvulling niet vereist is. Het URL-veilige alfabet dat is opgegeven in RFC 4648 Tabel 2 , wordt ook geaccepteerd. Met deze functie worden spaties genegeerd: \n, \r, \ten .

  • Wanneer de invoer tekens bevat die niet zijn opgenomen in de standaard- of URL-veilige alfabetten die zijn opgegeven door RFC 4648, retourneert de functie de volgende fout:

    Msg 9803, Level 16, State 20, Line 15, Invalid data for type "Base64Decode"
    
  • Als de gegevens geldige tekens bevatten maar onjuist zijn opgemaakt, retourneert de functie een fout Msg 9803, State 21.

  • Als de invoer meer dan twee opvullingstekens of opvullingstekens bevat, gevolgd door extra geldige invoer, retourneert de functie een fout Msg 9803, State 23.

Voorbeelden

Eén. Standard-BASE64_DECODE

In het volgende voorbeeld wordt de met Base64 gecodeerde tekenreeks terug gecodeerd in varbinary.

SELECT BASE64_DECODE('qQ==');

Hier is het resultatenoverzicht.

0xA9

B. een standaard Base64-tekenreeks BASE64_DECODE

In het volgende voorbeeld is de tekenreeks Base64 gedecodeerd. Let op: de tekenreeks bevat URL-onveilige tekens = en /.

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

Hier is het resultatenoverzicht.

0xCAFECAFE

C. BASE64_DECODE varchar url_safe Base64-tekenreeks

In tegenstelling tot voorbeeld B gebruikt dit voorbeeld RFC 4648 Tabel 2 (url_safe) om de Base64-tekenreeks te coderen. U kunt deze echter op dezelfde manier decoderen als voorbeeld B.

SELECT BASE64_DECODE('yv7K_g');

Hier is het resultatenoverzicht.

0xCAFECAFE

D. BASE64_DECODE varchar tekens bevat die niet in het Alfabet base64 staan

Dit voorbeeld bevat tekens die geen geldige Base64-tekens zijn.

SELECT BASE64_DECODE('qQ!!');

Hier is het resultatenoverzicht.

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