Sdílet prostřednictvím


BASE64_DECODE (Transact-SQL)

Platí pro: Koncový bod analýzy SQL azureSQL Database Azure SQL Database 2025 (17.x) v Microsoft Fabric a Warehouse v databázi MicrosoftFabric SQL v Microsoft Fabric

BASE64_DECODE převede výraz varchar s kódováním Base64 na odpovídající výraz varbinary .

Transact-SQL konvence syntaxe

Syntaxe

BASE64_DECODE ( expression )

Arguments

výraz

Výraz typu varchar(n) nebo varchar(max).

Návratové typy

  • varbinary(8000), pokud je vstup varchar(n).
  • varbinary(max), pokud je vstup varchar(max).
  • Pokud je NULLvstupní výraz , výstup je NULL.

Poznámky

Zakódovaná abeceda řetězce musí být v dokumentu RFC 4648 Table 1 a může obsahovat odsazení, i když odsazení není povinné. Akceptuje se také abeceda bezpečná pro adresy URL zadaná v dokumentu RFC 4648 Table 2 . Tato funkce ignoruje prázdné znaky: \n, \r, \ta .

  • Pokud vstup obsahuje znaky, které nejsou obsaženy ve standardní abecedě nebo v abecedě bezpečné pro adresy URL určené dokumentem RFC 4648, vrátí funkce následující chybu:

    Msg 9803, Level 16, State 20, Line 15, Invalid data for type "Base64Decode"
    
  • Pokud data mají platné znaky, ale jsou nesprávně formátovány, vrátí funkce chybu Msg 9803, State 21.

  • Pokud vstup obsahuje více než dva odsazení znaků nebo odsazení znaků následovaných dodatečným platným vstupem, vrátí funkce chybu Msg 9803, State 23.

Examples

A. Standardní BASE64_DECODE

V následujícím příkladu je kódovaný řetězec Base64 dekódován zpět do varbinary.

SELECT BASE64_DECODE('qQ==');

Tady je soubor výsledků.

0xA9

B. BASE64_DECODE standardní řetězec Base64

V následujícím příkladu je řetězec dekódován Base64. Všimněte si, že řetězec obsahuje nebezpečné znaky = adresy URL a /.

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

Tady je soubor výsledků.

0xCAFECAFE

C. BASE64_DECODE varchar url_safe řetězec Base64

Na rozdíl od příkladu B tento příklad používá rfC 4648 Table 2 (url_safe) ke kódování řetězce Base64. Můžete ho ale dekódovat stejným způsobem jako v příkladu B.

SELECT BASE64_DECODE('yv7K_g');

Tady je soubor výsledků.

0xCAFECAFE

D. BASE64_DECODE varchar obsahuje znaky, které nejsou v abecedě Base64.

Tento příklad obsahuje znaky, které nejsou platné znaky Base64.

SELECT BASE64_DECODE('qQ!!');

Tady je soubor výsledků.

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