共用方式為


BASE64_DECODE (Transact-SQL)

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

BASE64_DECODE會將base64編碼的varchar轉換成對應的varbinary。

Transact-SQL 語法慣例

語法

BASE64_DECODE(expression)

引數

expression

varchar 類型的表達式(n | max)。

傳回類型

  • Varbinary(8000).
  • 如果輸入為 varchar(max), 則為 Varbinary(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, Type ”Base64Decode“ 的無效數據。
  • 如果數據具有有效的字元,但格式不正確,則函式會傳回錯誤 Msg 9803,狀態 21。
  • 如果輸入包含兩個以上的填補字元或填補字元,後面接著額外的有效輸入,則函式會傳回錯誤 Msg 9803,State 23。

範例

A. 標準BASE64_DECODE

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

SELECT BASE64_DECODE ('qQ==');

以下為結果集。

-------------
0xA9

(1 row affected)

B. BASE64_DECODE標準base64字串

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

SELECT BASE64_DECODE('yv7K/g==')

以下為結果集。

------------  
0xCAFECAFE

(1 row affected)

C. BASE64_DECODE varchar url_safe base64 字串

相較於範例 B,此範例 base64 字串是使用 RFC 4648 表 2 編碼的(url_safe),但可以和範例 B 一樣譯碼。

SELECT BASE64_DECODE('yv7K_g')

以下為結果集。

------------  
0xCAFECAFE
(1 row affected)

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

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

SELECT BASE64_DECODE('qQ!!')

以下為結果集。

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

下一步