Categorias:

Funções de cadeia de caracteres e binários (Codificação/Decodificação)

BASE64_DECODE_STRING

Decodifica uma cadeia codificada em Base64 para uma cadeia de caracteres.

Consulte também:

TRY_BASE64_DECODE_STRING

BASE64_DECODE_BINARY , BASE64_ENCODE

Sintaxe

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

Argumentos

Obrigatório:

input

Uma expressão de cadeia de caracteres codificada em Base64.

Opcional:

alphabet

Uma cadeia de caracteres que tem até três caracteres ASCII:

  • Os dois primeiros caracteres na cadeia de caracteres especificam os dois últimos caracteres (índices 62 e 63) no alfabeto usado para codificar a entrada:

    • A a Z (índices 0-25)

    • a a z (índices 26-51)

    • 0 a 9 (índices 52-61)

    • + e / (índices 62, 63)

    Padrões: + e /

  • O terceiro caractere na cadeia de caracteres especifica o caractere usado para preenchimento.

    Padrão: =

Retornos

Uma cadeia de caracteres.

Notas de uso

  • Os caracteres da cadeia de caracteres alphabet são analisados em posição; para especificar caracteres diferentes na segunda ou terceira posição da cadeia de caracteres, você deve especificar explicitamente todos os caracteres anteriores, mesmo que deseje usar os padrões.

    Por exemplo:

    • +$ especifica o padrão (+) para o índice 62 e um caractere diferente ($) para o índice 63; nenhum caractere é explicitamente especificado para preenchimento, portanto o caractere padrão (=) será usado.

    • +/% especifica os padrões (+ e /) para índices 62 e 63, e especifica um caractere diferente (%) para preenchimento.

  • A cadeia de caracteres alphabet usada para decodificar input deve corresponder à cadeia de caracteres originalmente usada para codificar input.

Para obter mais informações sobre o formato base64, consulte base64.

Exemplos

Isso mostra um exemplo simples de utilização do BASE64_DECODE_STRING:

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

Isto mostra outro exemplo de utilização do BASE64_DECODE_STRING:

Criar uma tabela e dados:

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

Agora execute uma consulta usando 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