Delen via


BASE64_DECODE (Transact-SQL)

Van toepassing op:Azure SQL DatabaseSQL Analytics-eindpunt en -magazijn 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 gedecodeerd in varbinary.

SELECT BASE64_DECODE('qQ==');

Hier is het resultatenoverzicht.

0xA9

B. een standaard base64-tekenreeks BASE64_DECODE

In het volgende voorbeeld wordt 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 is deze base64-tekenreeks in dit voorbeeld gecodeerd met RFC 4648 Tabel 2 (url_safe), maar kan op dezelfde manier worden gedecodeerd 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".