类别:

字符串和二进制函数 (编码/解码)

BASE64_DECODE_STRING

将 Base64 编码的字符串解码为字符串。

另请参阅:

TRY_BASE64_DECODE_STRING

BASE64_DECODE_BINARYBASE64_ENCODE

语法

BASE64_DECODE_STRING( <input> [ , <alphabet> ] )
Copy

实参

必填:

input

Base64 编码的字符串表达式。

可选:

alphabet

至多由三个 ASCII 字符组成的字符串:

  • 字符串中的前两个字符指定用于编码输入的字母表中的最后两个字符(索引 62 和 63):

    • A``Z``(索引 0-25)

    • a``z``(索引 26-51)

    • 0``9``(索引 52-61)

    • +``/``(索引 62、63)

    默认字符:+/

  • 字符串中的第三个字符指定用于填充的字符。

    默认:=

返回

字符串。

使用说明

  • alphabet 字符串中的字符是按位置解析的;要在字符串的第二或第三位置指定不同的字符,必须明确指定所有前面的字符,即使希望使用默认值也一样。

    例如:

    • +$ 为索引 62 指定默认字符 (+),为索引 63 指定不同字符 ($);没有为填充明确指定字符,因此使用默认字符 (=)。

    • +/% 为索引 62 和 63 指定默认字符(+/),并为填充指定不同字符 (%)。

  • 用于解码 inputalphabet 字符串 必须 与最初用于编码 input 的字符串相匹配。

有关 base64 格式的更多信息,请参阅 base64

示例

此示例显示了使用 BASE64_DECODE_STRING 的一个简单示例:

SELECT BASE64_DECODE_STRING('U25vd2ZsYWtl');
+--------------------------------------+
| BASE64_DECODE_STRING('U25VD2ZSYWTL') |
|--------------------------------------|
| Snowflake                            |
+--------------------------------------+
Copy

此示例显示了使用 BASE64_DECODE_STRING 的另一个示例:

创建表和数据:

CREATE OR REPLACE TABLE base64_table (v VARCHAR, base64_string VARCHAR);
INSERT INTO base64_table (v) VALUES ('HELLO');
UPDATE base64_table SET base64_string = BASE64_ENCODE(v);
Copy

现在使用 BASE64_DECODE_STRING 运行查询:

SELECT v, base64_string, BASE64_DECODE_STRING(base64_string) 
    FROM base64_table;
+-------+---------------+-------------------------------------+
| V     | BASE64_STRING | BASE64_DECODE_STRING(BASE64_STRING) |
|-------+---------------+-------------------------------------|
| HELLO | SEVMTE8=      | HELLO                               |
+-------+---------------+-------------------------------------+
Copy
语言: 中文