Compartir vía


BASE64_ENCODE (Transact-SQL)

Aplica a:Azure SQL DatabaseSQL Analytics endpoint y Warehouse en Microsoft FabricSQL database en Microsoft Fabric

BASE64_ENCODE convierte el valor de una expresión varbinary de varbinary en una expresión varchar codificada en base64.

Convenciones de sintaxis de Transact-SQL

Sintaxis

BASE64_ENCODE (expression [ , url_safe ] )

Argumentos

expression

Expresión de tipo varbinary(n) o varbinary(max).

url_safe

Literal o expresión de entero opcional, que especifica si la salida de la operación de codificación debe ser segura para direcciones URL. Cualquier número distinto de 0 se evalúa como true. El valor predeterminado es 0.

Tipos de valores devueltos

  • varchar(8000) si la entrada es varbinary(n) donde n<= 6000.
  • varchar(max) si la entrada es varbinary(n) donde n> 6000.
  • varchar(max) si la entrada es varbinary(max).
  • Si la expresión de entrada es NULL, la salida es NULL.

Observaciones

El alfabeto de cadena codificado es el de RFC 4648 Tabla 1 y podría agregar relleno. La salida segura para direcciones URL usa el alfabeto base64url de RFC 4648, tabla 2 y no agrega espaciado interno. Esta función no agrega caracteres de nueva línea.

En cada caso, se usa la intercalación predeterminada de la base de datos. Para más información sobre las intercalaciones admitidas en Microsoft Fabric, consulte Tablas.

Si url_safe es true, la cadena base64url generada no es compatible con los descodificadores XML y JSON base64 de SQL Server.

Ejemplos

A. BASE64_ENCODE estándar

En el ejemplo siguiente se devuelve el valor codificado en base64 para el símbolo &copy;.

SELECT Base64_Encode(0xA9) AS "Encoded &copy; symbol";

Este es el conjunto de resultados.

qQ==

B. BASE64_ENCODE de una cadena

En el ejemplo siguiente, una cadena está codificada en base64. La cadena debe convertirse primero en un varbinary.

SELECT BASE64_ENCODE(CAST ('hello world' AS VARBINARY));

Este es el conjunto de resultados.

aGVsbG8gd29ybGQ=

C. BASE64_ENCODE predeterminado en lugar de url_safe

En el ejemplo siguiente, la primera selección no especifica url_safe; sin embargo, la segunda selección especifica url_safe.

SELECT BASE64_ENCODE(0xCAFECAFE);

Este es el conjunto de resultados.

yv7K/g==

En el ejemplo siguiente se especifica que la salida es segura para direcciones URL.

SELECT BASE64_ENCODE(0xCAFECAFE, 1);

Este es el conjunto de resultados.

yv7K_g