共用方式為


BASE64_DECODE (Transact-SQL)

適用於:Azure SQL 資料庫SQL 分析端點與倉庫 在 Microsoft Fabric中 Microsoft Fabric 中的 SQL 資料庫

BASE64_DECODE 將 base64 編碼的 varchar 運算式轉換為對應的 varbinary 運算式。

Transact-SQL 語法慣例

語法

BASE64_DECODE ( expression )

引數

expression

varchar(nvarchar(max) 類型的運算式。

傳回類型

  • varbinary(8000) 如果 輸入是 varchar(n),則為 varbinary(8000)。
  • varbinary(max) 如果 輸入是 varchar(max)
  • 如果輸入運算式為 NULL,則輸出為 NULL

備註

編碼字串的字母必須是 RFC 4648 表 1 的字母,而且可能包含填補,但不需要填補。 RFC 4648 表 2 內 指定的 URL 安全字母表 2 也會接受。 這個函式會忽略空白符元: \n\r\t

  • 當輸入包含未包含在 RFC 4648 指定的標準或 URL 安全字母表中的字元時,函式會傳回下列錯誤:

    Msg 9803, Level 16, State 20, Line 15, Invalid data for type "Base64Decode"
    
  • 如果資料具有有效字元,但格式不正確,則函式會傳回錯誤 Msg 9803, State 21

  • 如果輸入包含兩個以上的填補字元或填補字元後面接著額外的有效輸入,則函式會傳回錯誤 Msg 9803, State 23

範例

A. 標準BASE64_DECODE

在下列範例中,base64 編碼字串會譯碼回 varbinary。

SELECT BASE64_DECODE('qQ==');

結果集如下所示。

0xA9

B. BASE64_DECODE標準base64字串

在下列範例中,字串為base64譯碼。 請注意,字串包含 URL 不安全的字元 =/

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

結果集如下所示。

0xCAFECAFE

C. BASE64_DECODE varchar url_safe base64 字串

與範例 B 相反,此範例 base64 字串是使用 RFC 4648 表 2 (url_safe) 進行編碼的,但可以以與範例 B 相同的方式解碼。

SELECT BASE64_DECODE('yv7K_g');

結果集如下所示。

0xCAFECAFE

D. BASE64_DECODE varchar 包含不在base64字母中的字元

此範例包含無效base64字元的字元。

SELECT BASE64_DECODE('qQ!!');

結果集如下所示。

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