Sdílet prostřednictvím


BASE64_DECODE (Transact-SQL)

Platí na:Azure SQL DatabaseSQL analytics endpoint a Warehouse in Microsoft FabricSQL database in 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 nesprávně formátované, vrátí funkce chybu Msg 9803, State 21.

  • Pokud vstup obsahuje více než dva znaky odsazení nebo odsazení znaků následované 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 řetězec kódovaný v 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 byl tento příklad řetězce base64 kódován pomocí RFC 4648 Table 2 (url_safe), ale lze dekódovat stejným způsobem jako příklad 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ými znaky base64.

SELECT BASE64_DECODE('qQ!!');

Tady je soubor výsledků.

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